diff options
Diffstat (limited to 'arch/powerpc/sysdev/xics/xics-common.c')
-rw-r--r-- | arch/powerpc/sysdev/xics/xics-common.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c index 63762c672a03..4ba61941acbe 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c @@ -134,10 +134,11 @@ static void xics_request_ipi(void) BUG_ON(ipi == NO_IRQ); /* - * IPIs are marked IRQF_PERCPU. The handler was set in map. + * IPIs are marked PERCPU and also IRQF_NO_THREAD as they must + * run in hard interrupt context. The handler was set in map. */ BUG_ON(request_irq(ipi, icp_ops->ipi_action, - IRQF_PERCPU, "IPI", NULL)); + IRQF_NO_THREAD|IRQF_PERCPU, "IPI", NULL)); } int __init xics_smp_probe(void) |