aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/chip.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-03-02 05:49:21 -0500
committerThomas Gleixner <tglx@linutronix.de>2011-03-02 05:49:21 -0500
commitc69e3758ff56d03e161187355791ec992c574276 (patch)
treed423ff265f61d84d43c29b7e72c428ea2a3f68bc /kernel/irq/chip.c
parent8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3 (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.c4
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