X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=kernel%2Firq%2Fhandle.c;h=dc335ad27525f0019d475124322779d6c6ed5f09;hb=94b3e03c875f25c19ede9600c66d74a30b81957d;hp=32e1ab1477d1a975e6f19713eca1d41277da7f80;hpb=df6d3916f3b7b7e2067567a256dd4f0c1ea854a2;p=powerpc.git diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 32e1ab1477..dc335ad275 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -22,7 +22,6 @@ * handle_bad_irq - handle spurious and unhandled irqs * @irq: the interrupt number * @desc: description of the interrupt - * @regs: pointer to a register structure * * Handles spurious and unhandled IRQ's. It also prints a debugmessage. */ @@ -179,9 +178,11 @@ fastcall unsigned int __do_IRQ(unsigned int irq) */ if (desc->chip->ack) desc->chip->ack(irq); - action_ret = handle_IRQ_event(irq, desc->action); - if (!noirqdebug) - note_interrupt(irq, desc, action_ret); + if (likely(!(desc->status & IRQ_DISABLED))) { + action_ret = handle_IRQ_event(irq, desc->action); + if (!noirqdebug) + note_interrupt(irq, desc, action_ret); + } desc->chip->end(irq); return 1; }