diff options
| author | Pei Xiao <xiaopei01@kylinos.cn> | 2026-07-10 15:21:13 +0800 |
|---|---|---|
| committer | Andi Shyti <andi.shyti@kernel.org> | 2026-07-14 17:38:13 +0200 |
| commit | 9db20d23aac7916ff49be409a4bfd48fe7cbbfb4 (patch) | |
| tree | f95f750f9349fea3d27cb3c9ed93ef03a07a0bfe | |
| parent | 07fd9385f0d87dff4b34f355f68adf701080cb24 (diff) | |
| download | linux-next-9db20d23aac7916ff49be409a4bfd48fe7cbbfb4.tar.gz linux-next-9db20d23aac7916ff49be409a4bfd48fe7cbbfb4.zip | |
i2c: spacemit: fix spurious IRQ handling returning IRQ_HANDLED
When the interrupt status register reads zero, the handler should
return IRQ_NONE instead of IRQ_HANDLED. What the return value
actually feeds into is the spurious interrupt accounting in
note_interrupt(): falsely claiming IRQ_HANDLED defeats the "irq XX:
nobody cared" detection, so a stuck interrupt source would never be
caught.
Fixes: 5ea558473fa3 ("i2c: spacemit: add support for SpacemiT K1 SoC")
Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
Cc: <stable@vger.kernel.org> # v6.15+
Reviewed-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
Reviewed-by: Mukesh Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/ef8b623f45d4e430721e46572c2598d882044aed.1783667875.git.xiaopei01@kylinos.cn
| -rw-r--r-- | drivers/i2c/busses/i2c-k1.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-k1.c b/drivers/i2c/busses/i2c-k1.c index 9152cf436bea..51a0c3d80fc9 100644 --- a/drivers/i2c/busses/i2c-k1.c +++ b/drivers/i2c/busses/i2c-k1.c @@ -596,7 +596,7 @@ static irqreturn_t spacemit_i2c_irq_handler(int irq, void *devid) status = readl(i2c->base + SPACEMIT_ISR); if (!status) - return IRQ_HANDLED; + return IRQ_NONE; i2c->status = status; |
