forked from Minki/linux
i2c: xiic: Remove the disabling of interrupts
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>
This commit is contained in:
parent
51fcce86a7
commit
0387fc1645
@ -604,14 +604,11 @@ static irqreturn_t xiic_isr(int irq, void *dev_id)
|
|||||||
struct xiic_i2c *i2c = dev_id;
|
struct xiic_i2c *i2c = dev_id;
|
||||||
|
|
||||||
spin_lock(&i2c->lock);
|
spin_lock(&i2c->lock);
|
||||||
/* disable interrupts globally */
|
|
||||||
xiic_setreg32(i2c, XIIC_DGIER_OFFSET, 0);
|
|
||||||
|
|
||||||
dev_dbg(i2c->adap.dev.parent, "%s entry\n", __func__);
|
dev_dbg(i2c->adap.dev.parent, "%s entry\n", __func__);
|
||||||
|
|
||||||
xiic_process(i2c);
|
xiic_process(i2c);
|
||||||
|
|
||||||
xiic_setreg32(i2c, XIIC_DGIER_OFFSET, XIIC_GINTR_ENABLE_MASK);
|
|
||||||
spin_unlock(&i2c->lock);
|
spin_unlock(&i2c->lock);
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
Loading…
Reference in New Issue
Block a user