drivers: mediatek: Fix error handling in mtk_i2c_do_transfer

Errors were handled only if an I2C transfer timed out
and received a NACK which is very unlikely. This commit
changes the condition such that errors are handled if
an I2C transfer times out or received a NACK.

Signed-off-by: Francois Berder <fberder@outlook.fr>
Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
Francois Berder 2023-09-08 18:47:46 +02:00 committed by Tom Rini
parent c5b42e3e9e
commit 8cf61051ae

View file

@ -621,7 +621,7 @@ static int mtk_i2c_do_transfer(struct mtk_i2c_priv *priv,
i2c_writel(priv, REG_INTR_MASK, ~(restart_flag | I2C_HS_NACKERR | i2c_writel(priv, REG_INTR_MASK, ~(restart_flag | I2C_HS_NACKERR |
I2C_ACKERR | I2C_TRANSAC_COMP)); I2C_ACKERR | I2C_TRANSAC_COMP));
if (!tmo && trans_error != 0) { if (tmo || trans_error != 0) {
if (tmo) { if (tmo) {
ret = -ETIMEDOUT; ret = -ETIMEDOUT;
if (!priv->filter_msg) if (!priv->filter_msg)