mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 16:53:20 -04:00
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:
committed by
Christophe Leroy (CS GROUP)
parent
0887d5f68c
commit
feaa9dc2a7
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user