--- 466ab10c1ff10de1d001178fde9fdce203c410e3 +++ f2b44d51d826cec394890d1578606c67e2fa7d11 @@ -161,7 +161,7 @@ static int mv_is_err_intr(u32 intr_cause static void mv_xor_device_clear_eoc_cause(struct mv_xor_chan *chan) { - u32 val = (1 << (1 + (chan->idx * 16))); + u32 val = ~(1 << (chan->idx * 16)); dev_dbg(chan->device->common.dev, "%s, val 0x%08x\n", __func__, val); __raw_writel(val, XOR_INTR_CAUSE(chan)); }