From: Wolfram Sang Date: Wed, 10 Jul 2024 11:03:00 +0000 (+0200) Subject: i2c: rcar: clear NO_RXDMA flag after resetting X-Git-Tag: microblaze-v6.13~756^2^2~1 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=fea6b5ebb71a2830b042e42de7ae255017ac3ce8;p=linux-2.6-microblaze.git i2c: rcar: clear NO_RXDMA flag after resetting We should allow RXDMA only if the reset was really successful, so clear the flag after the reset call. Fixes: 0e864b552b23 ("i2c: rcar: reset controller is mandatory for Gen3+") Signed-off-by: Wolfram Sang Signed-off-by: Andi Shyti --- diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c index ec73463ea9b5..f0724c8e4b21 100644 --- a/drivers/i2c/busses/i2c-rcar.c +++ b/drivers/i2c/busses/i2c-rcar.c @@ -911,10 +911,10 @@ static int rcar_i2c_master_xfer(struct i2c_adapter *adap, /* Gen3+ needs a reset. That also allows RXDMA once */ if (priv->devtype >= I2C_RCAR_GEN3) { - priv->flags &= ~ID_P_NO_RXDMA; ret = rcar_i2c_do_reset(priv); if (ret) goto out; + priv->flags &= ~ID_P_NO_RXDMA; } rcar_i2c_init(priv);