genirq: Fixup fasteoi handler for oneshot mode
authorThomas Gleixner <tglx@linutronix.de>
Wed, 2 Mar 2011 10:49:21 +0000 (11:49 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 2 Mar 2011 10:49:21 +0000 (11:49 +0100)
The fasteoi handler must mask the interrupt line in oneshot mode
otherwise we end up with an irq storm.

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

index b5145654855fbe3be4f5588a1318573f15e8bef6..c9c0601f0615a1eaef8e3c425c61662395987c8e 100644 (file)
@@ -513,6 +513,10 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc)
                mask_irq(desc);
                goto out;
        }
+
+       if (desc->istate & IRQS_ONESHOT)
+               mask_irq(desc);
+
        preflow_handler(desc);
        handle_irq_event(desc);