Thread (1 message) 1 message, 1 author, 2011-02-15

Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler

From: Kevin Hilman <hidden>
Date: 2011-02-15 00:05:00
Also in: linux-omap

Keerthy [off-list ref] writes:
From: Richard woodruff <redacted>

ProDB00017052 - ARDY interrupt reasserted after being cleared.
This errata caused intermittent i2c instabilty(1 error per 3 hours) on several
customer platforms. After applying the workaround the intermittent errors were
not seen. This is not captured in the usual errata documents.
This (presumably internal) ProDB number above is meaningless in the
public changelog.  In lieu of a public erratum number, just summarize
the erratum/instability seen, references to other relevant public
errata (if any) would be useful too.   IOW, "instability" isn't quite
accurate enough.  A more detailed description of the problem/instability
is needed.

Thanks,

Kevin
quoted hunk
The workaround is to have a double clear of ARDY status in
irq handler.

Signed-off-by: Richard woodruff <redacted>
Signed-off-by: Keerthy <redacted>
---
 drivers/i2c/busses/i2c-omap.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 445de08..9bcefae 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -851,7 +851,8 @@ complete:
 					OMAP_I2C_STAT_AL)) {
 			omap_i2c_ack_stat(dev, stat &
 				(OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR |
-				OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR));
+				OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR |
+				OMAP_I2C_STAT_ARDY));
 			omap_i2c_complete_cmd(dev, err);
 			return IRQ_HANDLED;
 		}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help