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.

Signed-off-by: Michael Wu <[email protected]>
---

Change in v3:
  - revert deleted braces of 'else' branch in v2

Change in v2:
  - revert moving I2C_SLAVE_WRITE_REQUESTED reporting in v1

  drivers/i2c/busses/i2c-designware-slave.c | 7 +------
  1 file changed, 1 insertion(+), 6 deletions(-)

Acked-by: Jarkko Nikula <[email protected]>

Reply via email to