From: Richard woodruff <[email protected]>

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.

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

Signed-off-by: Richard woodruff <[email protected]>
Signed-off-by: Keerthy <[email protected]>
---
 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;
                }
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to