diff options
-rw-r--r-- | drivers/i2c/busses/i2c-omap.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 75bf3ad18099..a64a192c44a4 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c | |||
@@ -247,7 +247,13 @@ static void omap_i2c_unidle(struct omap_i2c_dev *dev) | |||
247 | omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, OMAP_I2C_CON_EN); | 247 | omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, OMAP_I2C_CON_EN); |
248 | } | 248 | } |
249 | dev->idle = 0; | 249 | dev->idle = 0; |
250 | omap_i2c_write_reg(dev, OMAP_I2C_IE_REG, dev->iestate); | 250 | |
251 | /* | ||
252 | * Don't write to this register if the IE state is 0 as it can | ||
253 | * cause deadlock. | ||
254 | */ | ||
255 | if (dev->iestate) | ||
256 | omap_i2c_write_reg(dev, OMAP_I2C_IE_REG, dev->iestate); | ||
251 | } | 257 | } |
252 | 258 | ||
253 | static void omap_i2c_idle(struct omap_i2c_dev *dev) | 259 | static void omap_i2c_idle(struct omap_i2c_dev *dev) |