X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=kernel%2Firq%2Fhandle.c;h=dc335ad27525f0019d475124322779d6c6ed5f09;hb=92e21e79a85924ddda00f4678d60bbd8f891a553;hp=32e1ab1477d1a975e6f19713eca1d41277da7f80;hpb=18062a91d2ddc40e19fc674afeb7cad58cfa23ab;p=linux-2.6-omap-h63xx.git diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 32e1ab1477d..dc335ad2752 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; }