The tegra_i2c_flush_fifos() may fail and transfer should be aborted in
this case.

Reviewed-by: Michał Mirosław <[email protected]>
Signed-off-by: Dmitry Osipenko <[email protected]>
---
 drivers/i2c/busses/i2c-tegra.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 79e542cf3e59..b912a7153e3b 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -1189,7 +1189,9 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev 
*i2c_dev,
        bool dma;
        u16 xfer_time = 100;
 
-       tegra_i2c_flush_fifos(i2c_dev);
+       err = tegra_i2c_flush_fifos(i2c_dev);
+       if (err)
+               return err;
 
        i2c_dev->msg_buf = msg->buf;
        i2c_dev->msg_buf_remaining = msg->len;
-- 
2.27.0

Reply via email to