diff mbox series

i2c: tegra-bpmp: ignore DMA safe buffer flag

Message ID 20210111142713.3641208-1-mperttunen@nvidia.com
State New
Headers show
Series i2c: tegra-bpmp: ignore DMA safe buffer flag | expand

Commit Message

Mikko Perttunen Jan. 11, 2021, 2:27 p.m. UTC
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(+)

Comments

Ben Dooks Jan. 11, 2021, 3:04 p.m. UTC | #1
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 mbox series

Patch

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;
 }