diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/i2c/busses/i2c-omap.c | 10 | 
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); |