i2c: xiic: Remove the disabling of interrupts
authorShubhrajyoti Datta <shubhraj@xilinx.com>
Wed, 17 Jun 2015 15:18:14 +0000 (20:48 +0530)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 10 Aug 2015 06:37:32 +0000 (08:37 +0200)
Currently before every transfer the interrupts are disabled.
So incase the slave nacks in the middle of the transfer the
current transfer is not aborted. Upon enabling the interrupts
conditions like NACK , arbitration lost will not be masked.
Remove the disabling of the interrupts.

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

index 43bcfeddc54e232496e416bcca19d70fc148c709..5d133d487ec02cf6c353ce8e3d2e9b4355fa76ef 100644 (file)
@@ -664,15 +664,8 @@ static void __xiic_start_xfer(struct xiic_i2c *i2c)
 
 static void xiic_start_xfer(struct xiic_i2c *i2c)
 {
-       unsigned long flags;
-
-       spin_lock_irqsave(&i2c->lock, flags);
-       /* disable interrupts globally */
-       xiic_setreg32(i2c, XIIC_DGIER_OFFSET, 0);
-       spin_unlock_irqrestore(&i2c->lock, flags);
 
        __xiic_start_xfer(i2c);
-       xiic_setreg32(i2c, XIIC_DGIER_OFFSET, XIIC_GINTR_ENABLE_MASK);
 }
 
 static int xiic_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)