Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

genirq: suppress resend of level interrupts

Level type interrupts are resent by the interrupt hardware when they are
still active at irq_enable().

Suppress the resend mechanism for interrupts marked as level.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Thomas Gleixner and committed by
Linus Torvalds
2464286a 49663421

+6 -1
+6 -1
kernel/irq/resend.c
··· 62 62 */ 63 63 desc->chip->enable(irq); 64 64 65 - if ((status & (IRQ_PENDING | IRQ_REPLAY)) == IRQ_PENDING) { 65 + /* 66 + * We do not resend level type interrupts. Level type 67 + * interrupts are resent by hardware when they are still 68 + * active. 69 + */ 70 + if ((status & (IRQ_LEVEL | IRQ_PENDING | IRQ_REPLAY)) == IRQ_PENDING) { 66 71 desc->status = (status & ~IRQ_PENDING) | IRQ_REPLAY; 67 72 68 73 if (!desc->chip || !desc->chip->retrigger ||