i2c: stm32f7: flush TX FIFO upon transfer errors
authorAlain Volmat <alain.volmat@foss.st.com>
Mon, 20 Sep 2021 15:21:29 +0000 (17:21 +0200)
committerWolfram Sang <wsa@kernel.org>
Mon, 29 Nov 2021 12:11:50 +0000 (13:11 +0100)
commit0c21d02ca469574d2082379db52d1a27b99eed0c
tree21a5bdafd55f1c6684da43e2fa3f6fb6c4955b06
parentb12764695c3fcade145890b67f82f8b139174cc7
i2c: stm32f7: flush TX FIFO upon transfer errors

While handling an error during transfer (ex: NACK), it could
happen that the driver has already written data into TXDR
before the transfer get stopped.
This commit add TXDR Flush after end of transfer in case of error to
avoid sending a wrong data on any other slave upon next transfer.

Fixes: aeb068c57214 ("i2c: i2c-stm32f7: add driver")
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@foss.st.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-stm32f7.c