]> err.no Git - linux-2.6/commitdiff
[PATCH] powerpc: CPM2 interrupt handler failure after 100,000 interrupts
authorEdson Seabra <Edson.Seabra@cyclades.com>
Mon, 19 Dec 2005 15:16:50 +0000 (09:16 -0600)
committerPaul Mackerras <paulus@samba.org>
Tue, 20 Dec 2005 04:39:33 +0000 (15:39 +1100)
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>
arch/ppc/platforms/85xx/mpc85xx_cds_common.c

index d8991b88dc9c531692584548fc601eafe898a7c0..5e8cc5ec6ab5dc11512c0c333c2e65c1db815053 100644 (file)
@@ -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 = {