summaryrefslogtreecommitdiff
path: root/arch/ppc
diff options
context:
space:
mode:
authorEdson Seabra <Edson.Seabra@cyclades.com>2005-12-19 15:16:50 (GMT)
committerPaul Mackerras <paulus@samba.org>2005-12-20 04:39:33 (GMT)
commitb273ed266a353ee6b238856e1ae705660dafdd70 (patch)
treeecc520a875549537e61de65ad624bb08341b69f3 /arch/ppc
parent3eb6f26bcd0d2ce53498deda988e68d663e1c9c2 (diff)
downloadlinux-b273ed266a353ee6b238856e1ae705660dafdd70.tar.xz
[PATCH] powerpc: CPM2 interrupt handler failure after 100,000 interrupts
The CPM2 interrupt handler does not return success to the IRQ subsystem, which causes it to kill the IRQ line after 100,000 interrupts. Signed-off-by: Edson Seabra <Edson.Seabra@cyclades.com> Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc')
-rw-r--r--arch/ppc/platforms/85xx/mpc85xx_cds_common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
index d8991b8..5e8cc5e 100644
--- a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
+++ b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
@@ -130,10 +130,11 @@ mpc85xx_cds_show_cpuinfo(struct seq_file *m)
}
#ifdef CONFIG_CPM2
-static void cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs)
{
while((irq = cpm2_get_irq(regs)) >= 0)
__do_IRQ(irq, regs);
+ return IRQ_HANDLED;
}
static struct irqaction cpm2_irqaction = {