mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 20:54:03 +02: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:
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user