i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts

ACK any pending read/write interrupts before exiting the ISR either after
completing the operation [ARDY interrupt] or in case of an error
[NACK|AL interrupt]

Signed-off-by: Moiz Sonasath <m-sonasath@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>

authored by Moiz Sonasath and committed by Ben Dooks dd11976a dcc4ec26

+3
+3
drivers/i2c/busses/i2c-omap.c
··· 694 } 695 if (stat & (OMAP_I2C_STAT_ARDY | OMAP_I2C_STAT_NACK | 696 OMAP_I2C_STAT_AL)) { 697 omap_i2c_complete_cmd(dev, err); 698 return IRQ_HANDLED; 699 }
··· 694 } 695 if (stat & (OMAP_I2C_STAT_ARDY | OMAP_I2C_STAT_NACK | 696 OMAP_I2C_STAT_AL)) { 697 + omap_i2c_ack_stat(dev, stat & 698 + (OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR | 699 + OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR)); 700 omap_i2c_complete_cmd(dev, err); 701 return IRQ_HANDLED; 702 }