]> git.hungrycats.org Git - linux/commitdiff
PPC32: Make sure interrupts are disabled in IPI handlers.
authorPaul Mackerras <paulus@samba.org>
Sun, 16 Mar 2003 09:36:04 +0000 (20:36 +1100)
committerPaul Mackerras <paulus@samba.org>
Sun, 16 Mar 2003 09:36:04 +0000 (20:36 +1100)
arch/ppc/syslib/open_pic.c

index a6efd2c9a6112b0ca79b7781b9fb25a079603c6a..33798a25a470f0a6aaa84a30dfa569aedd8ca839 100644 (file)
@@ -580,14 +580,19 @@ void openpic_request_IPIs(void)
        if (OpenPIC == NULL)
                return;
 
+       /* IPIs are marked SA_INTERRUPT as they must run with irqs disabled */
        request_irq(OPENPIC_VEC_IPI+open_pic_irq_offset,
-                   openpic_ipi_action, 0, "IPI0 (call function)", 0);
+                   openpic_ipi_action, SA_INTERRUPT,
+                   "IPI0 (call function)", 0);
        request_irq(OPENPIC_VEC_IPI+open_pic_irq_offset+1,
-                   openpic_ipi_action, 0, "IPI1 (reschedule)", 0);
+                   openpic_ipi_action, SA_INTERRUPT,
+                   "IPI1 (reschedule)", 0);
        request_irq(OPENPIC_VEC_IPI+open_pic_irq_offset+2,
-                   openpic_ipi_action, 0, "IPI2 (invalidate tlb)", 0);
+                   openpic_ipi_action, SA_INTERRUPT,
+                   "IPI2 (invalidate tlb)", 0);
        request_irq(OPENPIC_VEC_IPI+open_pic_irq_offset+3,
-                   openpic_ipi_action, 0, "IPI3 (xmon break)", 0);
+                   openpic_ipi_action, SA_INTERRUPT,
+                   "IPI3 (xmon break)", 0);
 
        for ( i = 0; i < OPENPIC_NUM_IPI ; i++ )
                openpic_enable_ipi(OPENPIC_VEC_IPI+open_pic_irq_offset+i);