We wrote 1 to the handled interrupts bits along with 0 to all other bits to the SoundWire DPx interrupt register. However, DP0 has reserved fields and the read-only SDCA_CASCADE bit. DPN also has reserved fields. We should not try to write values in these fields. Besides, we deal with pending interrupts in a loop but we didn't reset the slave_notify status. Pierre-Louis Bossart (5): soundwire: bus: add comments to explain interrupt loop filter soundwire: bus: reset slave_notify status at each loop soundwire: registers: add definitions for clearable interrupt fields soundwire: bus: only clear valid DP0 interrupts soundwire: bus: only clear valid DPN interrupts drivers/soundwire/bus.c | 27 +++++++++++++++++-------- include/linux/soundwire/sdw_registers.h | 11 ++++++++++ 2 files changed, 30 insertions(+), 8 deletions(-) -- 2.17.1