aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/sysdev/uic.c3
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);