sparc32, sun4d: Implemented SMP IPIs support for SUN4D machines
[deliverable/linux.git] / arch / sparc / kernel / sun4d_irq.c
index b830914e32d306263616894fb7cf324f51fb73e0..a9ea60eb2c10f21e01cf007143e47942b6a768ad 100644 (file)
@@ -156,6 +156,15 @@ void sun4d_handler_irq(int pil, struct pt_regs *regs)
 
        cc_set_iclr(1 << pil);
 
+#ifdef CONFIG_SMP
+       /*
+        * Check IPI data structures after IRQ has been cleared. Hard and Soft
+        * IRQ can happen at the same time, so both cases are always handled.
+        */
+       if (pil == SUN4D_IPI_IRQ)
+               sun4d_ipi_interrupt();
+#endif
+
        old_regs = set_irq_regs(regs);
        irq_enter();
        if (sbusl == 0) {
This page took 0.036972 seconds and 5 git commands to generate.