Too many spurious interrupts on mpc82xx with linux-2.4.35.5

Matvejchikov Ilya matvejchikov at gmail.com
Wed Jul 4 15:51:09 EST 2007


Hi all!

If you still have this problem, try this patch. It helps :)

Signed-off-by : Matvejchikov Ilya <matvejchikov at gmail.com>
---
diff -purN linux-2.4.34.5-vanilla/arch/ppc/kernel/cpm2_pic.c
linux-2.4.34.5/arch/ppc/kernel/cpm2_pic.c
--- linux-2.4.34.5-vanilla/arch/ppc/kernel/cpm2_pic.c	2007-06-06
23:20:53.000000000 +0400
+++ linux-2.4.34.5/arch/ppc/kernel/cpm2_pic.c	2007-06-28
12:17:42.000000000 +0400
@@ -79,6 +79,12 @@ static void cpm2_mask_and_ack(unsigned i
 	ppc_cached_irq_mask[word] &= ~(1 << (31 - bit));
 	simr[word] = ppc_cached_irq_mask[word];
 	sipnr[word] = 1 << (31 - bit);
+
+	/*
+	 * Work around large numbers of spurious IRQs on PowerPC 82xx
+	 * systems.
+	 */
+	mb();
 }

 static void cpm2_end_irq(unsigned int irq_nr)



More information about the Linuxppc-embedded mailing list