public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] i2c: omap: Fix standard mode false ACK readings
@ 2023-04-26 19:49 Reid Tonking
  2023-04-27 13:18 ` Raghavendra, Vignesh
  2023-04-30  5:52 ` Wolfram Sang
  0 siblings, 2 replies; 15+ messages in thread
From: Reid Tonking @ 2023-04-26 19:49 UTC (permalink / raw)
  To: tony, aaro.koskinen, jmkrzyszt, vigneshr
  Cc: linux-omap, linux-i2c, stable, Reid Tonking

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.

Cc: <stable@vger.kernel.org> # v3.7+
Fixes: 3b2f8f82dad7 ("i2c: omap: switch to threaded IRQ support")
Signed-off-by: Reid Tonking <reidt@ti.com>
---
 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 2b4e2be51318..4199f57a6bf2 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


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-02-02 22:42 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-26 19:49 [PATCH v2] i2c: omap: Fix standard mode false ACK readings Reid Tonking
2023-04-27 13:18 ` Raghavendra, Vignesh
2023-04-28  7:43   ` Tony Lindgren
2023-04-28 18:30     ` Reid Tonking
2023-05-03  6:03       ` Tony Lindgren
2024-09-11  9:40       ` H. Nikolaus Schaller
2024-09-13 12:09         ` Andreas Kemnade
2024-09-13 12:28           ` H. Nikolaus Schaller
2024-09-13 13:32             ` Andreas Kemnade
2024-09-13 15:01               ` H. Nikolaus Schaller
2024-11-06  9:23         ` Andreas Kemnade
2024-11-06 12:16           ` H. Nikolaus Schaller
2024-11-06 15:09             ` H. Nikolaus Schaller
2025-02-02 22:42               ` Ing. Josua Mayer
2023-04-30  5:52 ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox