Message ID | 20210111142713.3641208-1-mperttunen@nvidia.com |
---|---|
State | New |
Headers | show |
Series | i2c: tegra-bpmp: ignore DMA safe buffer flag | expand |
On 11/01/2021 14:27, Mikko Perttunen wrote: > From: Muhammed Fazal <mfazale@nvidia.com> > > Ignore I2C_M_DMA_SAFE flag as it does not make a difference > for bpmp-i2c, but causes -EINVAL to be returned for valid > transactions. > > Signed-off-by: Muhammed Fazal <mfazale@nvidia.com> > Cc: stable@vger.kernel.org # v4.19+ > Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> > --- > This fixes failures seen with PMIC probing tools on > Tegra186+ boards. > > drivers/i2c/busses/i2c-tegra-bpmp.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/i2c/busses/i2c-tegra-bpmp.c b/drivers/i2c/busses/i2c-tegra-bpmp.c > index ec7a7e917edd..998d4b21fb59 100644 > --- a/drivers/i2c/busses/i2c-tegra-bpmp.c > +++ b/drivers/i2c/busses/i2c-tegra-bpmp.c > @@ -80,6 +80,9 @@ static int tegra_bpmp_xlate_flags(u16 flags, u16 *out) > flags &= ~I2C_M_RECV_LEN; > } > > + if (flags & I2C_M_DMA_SAFE) > + flags &= ~I2C_M_DMA_SAFE; > + Just a comment, you can do without the test here. Just doing this would have been fine: flags &= ~I2C_M_DMA_SAFE;
diff --git a/drivers/i2c/busses/i2c-tegra-bpmp.c b/drivers/i2c/busses/i2c-tegra-bpmp.c index ec7a7e917edd..998d4b21fb59 100644 --- a/drivers/i2c/busses/i2c-tegra-bpmp.c +++ b/drivers/i2c/busses/i2c-tegra-bpmp.c @@ -80,6 +80,9 @@ static int tegra_bpmp_xlate_flags(u16 flags, u16 *out) flags &= ~I2C_M_RECV_LEN; } + if (flags & I2C_M_DMA_SAFE) + flags &= ~I2C_M_DMA_SAFE; + return (flags != 0) ? -EINVAL : 0; }