X-Git-Url: http://git.rot13.org/?p=powerpc.git;a=blobdiff_plain;f=kernel%2Firq%2Fspurious.c;h=b0d81aae472ff44e61d3670f81112d4cd2f54ac9;hp=9d8c79b48823fdfb44d27fe3a3bf1c7adc9cdbc7;hb=d85a60d85ea5b7c597508c1510c88e657773d378;hpb=951744fea0aea9adbd7c8cacb3605f2d69a66f96 diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index 9d8c79b488..b0d81aae47 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c @@ -146,7 +146,9 @@ void note_interrupt(unsigned int irq, struct irq_desc *desc, if (unlikely(irqfixup)) { /* Don't punish working computers */ - if ((irqfixup == 2 && irq == 0) || action_ret == IRQ_NONE) { + if ((irqfixup == 2 && ((irq == 0) || + (desc->action->flags & IRQF_IRQPOLL))) || + action_ret == IRQ_NONE) { int ok = misrouted_irq(irq); if (action_ret == IRQ_NONE) desc->irqs_unhandled -= ok;