soc: fsl: qe: Handle spurious interrupts

When no interrupt bits are set in the event register, call
handle_bad_irq() to account for the spurious interrupt before
exiting the cascade handler.

Signed-off-by: Paul Louvel <paul.louvel@bootlin.com>
Reviewed-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Link: https://lore.kernel.org/r/20260708-qe-pic-gpios-v2-7-1972044cfbd1@bootlin.com
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
This commit is contained in:
Paul Louvel
2026-07-08 12:15:20 +02:00
committed by Christophe Leroy (CS GROUP)
parent 0887d5f68c
commit feaa9dc2a7

View File

@@ -80,9 +80,15 @@ static void qepic_cascade(struct irq_desc *desc)
chained_irq_enter(chip, desc);
event = ioread32be(data->reg + CEPIER);
if (!event) {
handle_bad_irq(desc);
goto out;
}
for_each_set_bit(bit, &event, 32)
generic_handle_domain_irq(data->host, 31 - bit);
out:
chained_irq_exit(chip, desc);
}