Messages in this thread | | | Date | Sat, 5 Apr 2014 09:13:16 +0300 | From | "Westerberg, Mika" <> | Subject | Re: [PATCH] i2c-designware: Mask interrupts during i2c controller enable |
| |
On Sat, Apr 05, 2014 at 12:54:33AM +0300, Du, Wenkai wrote: > >Interrupt masking is done already after each transaction. > > At end of transfer, the code uses __i2c_dw_enable(dev, false) to disable > adapter. This function doesn't mask interrupts. There is another function > i2c_dw_disable that masks and clears interrupts. This could be used, but > that means we need to fix in 2 places:
Please check i2c_dw_isr() and tell me in which code path interrupts are not getting masked. Or am I missing something fundamental here?
In case of abort, we mask interrupts. Also whenever the transaction completes we mask interrupts (in i2c_dw_xfer_msg()).
Only place where we didn't do that, as far as I can tell, is right after reset because of the HW default value that unmasks most of them.
| |