i2c: xiic: Remove the disabling of interrupts
authorShubhrajyoti Datta <shubhraj@xilinx.com>
Wed, 17 Jun 2015 15:18:11 +0000 (20:48 +0530)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 10 Aug 2015 06:37:31 +0000 (08:37 +0200)
Currently the interrupts are disabled at the start of the
isr and enabled at the end of the isr. Remove the same.

In case the slave device NACKs the transaction while in the isr
the transfer will continue and the NACK interrupt will arrive
only after the isr is serviced.

Signed-off-by: Shubhrajyoti Datta <shubhraj@xilinx.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-xiic.c

index 4dda23f22a67b47502d64151c32c9d0c3063aa85..912780a3a65ebf411f8bf7056133cdf57658ca35 100644 (file)
@@ -604,14 +604,11 @@ static irqreturn_t xiic_isr(int irq, void *dev_id)
        struct xiic_i2c *i2c = dev_id;
 
        spin_lock(&i2c->lock);
-       /* disable interrupts globally */
-       xiic_setreg32(i2c, XIIC_DGIER_OFFSET, 0);
 
        dev_dbg(i2c->adap.dev.parent, "%s entry\n", __func__);
 
        xiic_process(i2c);
 
-       xiic_setreg32(i2c, XIIC_DGIER_OFFSET, XIIC_GINTR_ENABLE_MASK);
        spin_unlock(&i2c->lock);
 
        return IRQ_HANDLED;