Message ID | 20220908173544.32615-4-asmaa@nvidia.com |
---|---|
State | Superseded |
Headers | show |
Series | i2c-mlxbf.c: bug fixes and new feature support | expand |
On Thu, Sep 08, 2022 at 01:35:38PM -0400, Asmaa Mnebhi wrote: > Correct the base address used during io write. > This bug had no impact over the overall functionality of the read and write > transactions. MLXBF_I2C_CAUSE_OR_CLEAR=0x18 so writing to (smbus->io + 0x18) > instead of (mst_cause->ioi + 0x18) actually writes to the sc_low_timeout > register which just sets the timeout value before a read/write aborts. > > Fixes: b5b5b32081cd206b (i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC) > Reviewed-by: Khalil Blaiech <kblaiech@nvidia.com> > Signed-off-by: Asmaa Mnebhi <asmaa@nvidia.com> Fixed the prefix in $subject and applied to for-current, thanks!
diff --git a/drivers/i2c/busses/i2c-mlxbf.c b/drivers/i2c/busses/i2c-mlxbf.c index 087a70981283..da0bdbd66e2e 100644 --- a/drivers/i2c/busses/i2c-mlxbf.c +++ b/drivers/i2c/busses/i2c-mlxbf.c @@ -662,7 +662,7 @@ static int mlxbf_i2c_smbus_enable(struct mlxbf_i2c_priv *priv, u8 slave, /* Clear status bits. */ writel(0x0, priv->smbus->io + MLXBF_I2C_SMBUS_MASTER_STATUS); /* Set the cause data. */ - writel(~0x0, priv->smbus->io + MLXBF_I2C_CAUSE_OR_CLEAR); + writel(~0x0, priv->mst_cause->io + MLXBF_I2C_CAUSE_OR_CLEAR); /* Zero PEC byte. */ writel(0x0, priv->smbus->io + MLXBF_I2C_SMBUS_MASTER_PEC); /* Zero byte count. */