OSDN Git Service

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 4dda23f..912780a 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;