Handle.c (kernel/irq) 13043 2011-1-19
/**
* __do_IRQ - original all in one highlevel IRQ handler
* @irq:
the interrupt number
*
* __do_IRQ handles all normal device IRQ's (the special
* SMP cross-CPU interrupts have their own specific
* handlers).
*
* This is the original x86 implementation which is used for every
* interrupt type.
*/
unsigned int __do_IRQ(unsigned int irq)
Since the IRQ_DISABLED flag is set, if the interrupt happens to fire
again, your handler shouldn't be called. The generic handler masks
interrupts when they occur, and if the IRQ_DISABLED flag is set then
it will leave the interrupt masked (i.e. disabled).