diff --git a/[refs] b/[refs] index 4eae7788beb0..702304a5370f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 63df81ec3bc91cd894e3609b7267ed50df408ebd +refs/heads/master: d16f1b648356d70ebbda2eb1b2af18a6816dacb1 diff --git a/trunk/arch/powerpc/sysdev/mpic.c b/trunk/arch/powerpc/sysdev/mpic.c index 4fd2bec89916..75aad38179f0 100644 --- a/trunk/arch/powerpc/sysdev/mpic.c +++ b/trunk/arch/powerpc/sysdev/mpic.c @@ -1424,7 +1424,7 @@ unsigned int mpic_get_irq(void) void mpic_request_ipis(void) { struct mpic *mpic = mpic_primary; - int i; + int i, err; static char *ipi_names[] = { "IPI0 (call function)", "IPI1 (reschedule)", @@ -1442,8 +1442,14 @@ void mpic_request_ipis(void) printk(KERN_ERR "Failed to map IPI %d\n", i); break; } - request_irq(vipi, mpic_ipi_action, IRQF_DISABLED|IRQF_PERCPU, - ipi_names[i], mpic); + err = request_irq(vipi, mpic_ipi_action, + IRQF_DISABLED|IRQF_PERCPU, + ipi_names[i], mpic); + if (err) { + printk(KERN_ERR "Request of irq %d for IPI %d failed\n", + vipi, i); + break; + } } }