genirq: Do not mask oneshot edge type interrupts
authorThomas Gleixner <tglx@linutronix.de>
Thu, 27 Aug 2009 07:38:49 +0000 (09:38 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 27 Aug 2009 07:38:49 +0000 (09:38 +0200)
commit4dbc9ca219b0f294332e734528f7b82211700170
tree377ee0e0d671f507dbb73618684630aba2475299
parent399b5da29b9f851eb7b96e2882097127f003e87c
genirq: Do not mask oneshot edge type interrupts

Masking oneshot edge type interrupts is wrong as we might lose an
interrupt which is issued when the threaded handler is handling the
device. We can keep the irq unmasked safely as with edge type
interrupts there is no danger of interrupt floods. If the threaded
handler has not yet finished then IRQTF_RUNTHREAD is set which will
keep the handler thread active.

Debugged and verified in preempt-rt.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/chip.c