Просмотр исходного кода

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 <aaro.koskinen@iki.fi>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Aaro Koskinen 13 лет назад
Родитель
Сommit
2c5de558cd
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      drivers/i2c/busses/i2c-omap.c

+ 1 - 1
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;