summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kernel/irq.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 5c291df30fe3..ab2ed9afd3c2 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -481,7 +481,11 @@ void __do_irq(struct pt_regs *regs)
if (unlikely(!irq))
__this_cpu_inc(irq_stat.spurious_irqs);
else
- generic_handle_irq(irq);
+ do {
+ generic_handle_irq(irq);
+
+ irq = ppc_md.get_irq();
+ } while (irq);
trace_irq_exit(regs);