summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/busses/i2c-omap.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 00fb5ac811c..aaeb93e44e0 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -960,6 +960,11 @@ omap_i2c_isr_handler(struct omap_i2c_dev *dev)
u16 stat;
int err = 0, count = 0;
+ if (pm_runtime_suspended(dev->dev)) {
+ WARN_ONCE(true, "We should never be here!\n");
+ return IRQ_NONE;
+ }
+
do {
bits = omap_i2c_read_reg(dev, OMAP_I2C_IE_REG);
stat = omap_i2c_read_reg(dev, OMAP_I2C_STAT_REG);
@@ -1109,6 +1114,11 @@ omap_i2c_isr(int irq, void *dev_id)
u16 mask;
u16 stat;
+ if (pm_runtime_suspended(dev->dev)) {
+ WARN_ONCE(true, "We should never be here!\n");
+ return IRQ_NONE;
+ }
+
spin_lock(&dev->lock);
mask = omap_i2c_read_reg(dev, OMAP_I2C_IE_REG);
stat = omap_i2c_read_reg(dev, OMAP_I2C_STAT_REG);