diff options
-rw-r--r-- | drivers/i2c/busses/i2c-mxs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c index 65a21fed08b5..07e1be6f8992 100644 --- a/drivers/i2c/busses/i2c-mxs.c +++ b/drivers/i2c/busses/i2c-mxs.c | |||
@@ -307,6 +307,9 @@ static int mxs_i2c_pio_wait_xfer_end(struct mxs_i2c_dev *i2c) | |||
307 | unsigned long timeout = jiffies + msecs_to_jiffies(1000); | 307 | unsigned long timeout = jiffies + msecs_to_jiffies(1000); |
308 | 308 | ||
309 | while (readl(i2c->regs + MXS_I2C_CTRL0) & MXS_I2C_CTRL0_RUN) { | 309 | while (readl(i2c->regs + MXS_I2C_CTRL0) & MXS_I2C_CTRL0_RUN) { |
310 | if (readl(i2c->regs + MXS_I2C_CTRL1) & | ||
311 | MXS_I2C_CTRL1_NO_SLAVE_ACK_IRQ) | ||
312 | return -ENXIO; | ||
310 | if (time_after(jiffies, timeout)) | 313 | if (time_after(jiffies, timeout)) |
311 | return -ETIMEDOUT; | 314 | return -ETIMEDOUT; |
312 | cond_resched(); | 315 | cond_resched(); |