diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-02 05:49:21 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-03-02 05:49:21 -0500 |
commit | c69e3758ff56d03e161187355791ec992c574276 (patch) | |
tree | d423ff265f61d84d43c29b7e72c428ea2a3f68bc /kernel/irq/chip.c | |
parent | 8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3 (diff) |
genirq: Fixup fasteoi handler for oneshot mode
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>
Diffstat (limited to 'kernel/irq/chip.c')
-rw-r--r-- | kernel/irq/chip.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index b5145654855f..c9c0601f0615 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c | |||
@@ -513,6 +513,10 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) | |||
513 | mask_irq(desc); | 513 | mask_irq(desc); |
514 | goto out; | 514 | goto out; |
515 | } | 515 | } |
516 | |||
517 | if (desc->istate & IRQS_ONESHOT) | ||
518 | mask_irq(desc); | ||
519 | |||
516 | preflow_handler(desc); | 520 | preflow_handler(desc); |
517 | handle_irq_event(desc); | 521 | handle_irq_event(desc); |
518 | 522 | ||