diff options
-rw-r--r-- | arch/powerpc/sysdev/uic.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c index 22c219e448..47180b3fca 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c | |||
@@ -266,6 +266,9 @@ irqreturn_t uic_cascade(int virq, void *data) | |||
266 | int subvirq; | 266 | int subvirq; |
267 | 267 | ||
268 | msr = mfdcr(uic->dcrbase + UIC_MSR); | 268 | msr = mfdcr(uic->dcrbase + UIC_MSR); |
269 | if (!msr) /* spurious interrupt */ | ||
270 | return IRQ_HANDLED; | ||
271 | |||
269 | src = 32 - ffs(msr); | 272 | src = 32 - ffs(msr); |
270 | 273 | ||
271 | subvirq = irq_linear_revmap(uic->irqhost, src); | 274 | subvirq = irq_linear_revmap(uic->irqhost, src); |