Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler
From: J, KEERTHY <hidden>
Date: 2011-02-15 04:43:58
Also in:
linux-omap
On Tue, Feb 15, 2011 at 5:35 AM, Kevin Hilman [off-list ref] wrote:
Keerthy [off-list ref] writes:quoted
From: Richard woodruff <redacted> ProDB00017052 - ARDY interrupt reasserted after being cleared.quoted
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.
Kevin, Yes the ProDB number is internal. I will remove it from the change log. I will add a more detailed description of the problem. -- Regards and Thanks, Keerthy
Thanks, Kevinquoted
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; }