[PATCH] powerpc: fix spurious vectors on weird MPIC

Josh Boyer jwboyer at linux.vnet.ibm.com
Tue May 1 06:38:11 EST 2007


The weird TSI 10x MPIC needs an EOI after getting a spurious vector.  This
patch uses the existing MPIC_SPV_EOI flag to fix this issue.

Signed-off-by: Josh Boyer <jwboyer at linux.vnet.ibm.com>
---
 arch/powerpc/sysdev/mpic.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- linux-2.6.orig/arch/powerpc/sysdev/mpic.c
+++ linux-2.6/arch/powerpc/sysdev/mpic.c
@@ -1333,8 +1333,11 @@ unsigned int mpic_get_one_irq(struct mpi
 #ifdef DEBUG_LOW
 	DBG("%s: get_one_irq(): %d\n", mpic->name, src);
 #endif
-	if (unlikely(src == mpic->spurious_vec))
+	if (unlikely(src == mpic->spurious_vec)) {
+		if (mpic->flags & MPIC_SPV_EOI)
+			mpic_eoi(mpic);
 		return NO_IRQ;
+	}
 	return irq_linear_revmap(mpic->irqhost, src);
 }
 




More information about the Linuxppc-dev mailing list