Re: [PATCH] i2c: omap: Fix standard mode false ACK readings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Reid,

On Mon, Apr 24, 2023 at 02:53:44PM -0500, Reid Tonking wrote:
> Using standard mode, rare false ACK responses were appearing with
> i2cdetect tool. This was happening due to NACK interrupt triggering
> ISR thread before register access interrupt was ready. Removing the
> NACK interrupt's ability to trigger ISR thread lets register access
> ready interrupt do this instead.
> 
> Fixes: 3b2f8f82dad7 ("i2c: omap: switch to threaded IRQ support")
> 
> Signed-off-by: Reid Tonking <reidt@xxxxxx>

please don't leave any space between Fixes and SoB.

Add also:

Cc: <stable@xxxxxxxxxxxxxxx> # v3.7+

and Cc the stable list.

Andi

> ---
> Fixes: LCPD-29949
> 
>  drivers/i2c/busses/i2c-omap.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index f9ae520aed22..7ec252199706 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -1058,7 +1058,7 @@ omap_i2c_isr(int irq, void *dev_id)
>  	u16 stat;
>  
>  	stat = omap_i2c_read_reg(omap, OMAP_I2C_STAT_REG);
> -	mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG);
> +	mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG) & ~OMAP_I2C_STAT_NACK;
>  
>  	if (stat & mask)
>  		ret = IRQ_WAKE_THREAD;
> -- 
> 2.34.1
> 



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux