diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 4fd2bec89916..75aad38179f0 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -1424,7 +1424,7 @@ unsigned int mpic_get_irq(void) | |||
1424 | void mpic_request_ipis(void) | 1424 | void mpic_request_ipis(void) |
1425 | { | 1425 | { |
1426 | struct mpic *mpic = mpic_primary; | 1426 | struct mpic *mpic = mpic_primary; |
1427 | int i; | 1427 | int i, err; |
1428 | static char *ipi_names[] = { | 1428 | static char *ipi_names[] = { |
1429 | "IPI0 (call function)", | 1429 | "IPI0 (call function)", |
1430 | "IPI1 (reschedule)", | 1430 | "IPI1 (reschedule)", |
@@ -1442,8 +1442,14 @@ void mpic_request_ipis(void) | |||
1442 | printk(KERN_ERR "Failed to map IPI %d\n", i); | 1442 | printk(KERN_ERR "Failed to map IPI %d\n", i); |
1443 | break; | 1443 | break; |
1444 | } | 1444 | } |
1445 | request_irq(vipi, mpic_ipi_action, IRQF_DISABLED|IRQF_PERCPU, | 1445 | err = request_irq(vipi, mpic_ipi_action, |
1446 | ipi_names[i], mpic); | 1446 | IRQF_DISABLED|IRQF_PERCPU, |
1447 | ipi_names[i], mpic); | ||
1448 | if (err) { | ||
1449 | printk(KERN_ERR "Request of irq %d for IPI %d failed\n", | ||
1450 | vipi, i); | ||
1451 | break; | ||
1452 | } | ||
1447 | } | 1453 | } |
1448 | } | 1454 | } |
1449 | 1455 | ||