Hi, > On 10/23/20 8:40 AM, Michael Wu wrote: > > If some bits were cleared by i2c_dw_read_clear_intrbits_slave() in > > i2c_dw_isr_slave() and not handled immediately, those cleared bits would > > not be shown again by later i2c_dw_read_clear_intrbits_slave(). They > > therefore were forgotten to be handled. > > > > i2c_dw_read_clear_intrbits_slave() should be called once in an ISR and take > > its returned state for all later handlings. > > --- > > drivers/i2c/busses/i2c-designware-slave.c | 7 +------ > > 1 file changed, 1 insertion(+), 6 deletions(-) > > > Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> There is another logic issue about the I2C_SLAVE_WRITE_REQUESTED reporting. May I give patches based on this commit? Michael Wu