From: Aaro Koskinen Date: Sun, 20 Jan 2013 00:32:58 +0000 (+0200) Subject: i2c: omap: errata i462: fix incorrect ack for arbitration lost interrupt X-Git-Tag: v3.8-rc5~9^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c5de558cd228e6d9ae633fb318f18942c7248f1;p=platform%2Fkernel%2Flinux-stable.git i2c: omap: errata i462: fix incorrect ack for arbitration lost interrupt The errata handling function acks wrong interrupt in case of "Arbitration lost". Fix it. Discovered during code review, the real impact of the bug is unknown. Signed-off-by: Aaro Koskinen Reviewed-by: Felipe Balbi Signed-off-by: Wolfram Sang --- diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 20d41bf..832f16e 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -803,7 +803,7 @@ static int errata_omap3_i462(struct omap_i2c_dev *dev) if (stat & OMAP_I2C_STAT_AL) { dev_err(dev->dev, "Arbitration lost\n"); dev->cmd_err |= OMAP_I2C_STAT_AL; - omap_i2c_ack_stat(dev, OMAP_I2C_STAT_NACK); + omap_i2c_ack_stat(dev, OMAP_I2C_STAT_AL); } return -EIO;