diff options
Diffstat (limited to 'kernel/arch/mips/sgi-ip27/ip27-irq.c')
-rw-r--r-- | kernel/arch/mips/sgi-ip27/ip27-irq.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/arch/mips/sgi-ip27/ip27-irq.c b/kernel/arch/mips/sgi-ip27/ip27-irq.c index 3fbaef97a..16ec4e12d 100644 --- a/kernel/arch/mips/sgi-ip27/ip27-irq.c +++ b/kernel/arch/mips/sgi-ip27/ip27-irq.c @@ -107,10 +107,14 @@ static void ip27_do_irq_mask0(void) scheduler_ipi(); } else if (pend0 & (1UL << CPU_CALL_A_IRQ)) { LOCAL_HUB_CLR_INTR(CPU_CALL_A_IRQ); - smp_call_function_interrupt(); + irq_enter(); + generic_smp_call_function_interrupt(); + irq_exit(); } else if (pend0 & (1UL << CPU_CALL_B_IRQ)) { LOCAL_HUB_CLR_INTR(CPU_CALL_B_IRQ); - smp_call_function_interrupt(); + irq_enter(); + generic_smp_call_function_interrupt(); + irq_exit(); } else #endif { |