diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-02 11:49:21 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-03-02 11:49:21 +0100 |
commit | c69e3758ff56d03e161187355791ec992c574276 (patch) | |
tree | d423ff265f61d84d43c29b7e72c428ea2a3f68bc /kernel/irq/chip.c | |
parent | 8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3 (diff) | |
download | linux-c69e3758ff56d03e161187355791ec992c574276.tar.gz linux-c69e3758ff56d03e161187355791ec992c574276.tar.bz2 linux-c69e3758ff56d03e161187355791ec992c574276.zip |
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) mask_irq(desc); goto out; } + + if (desc->istate & IRQS_ONESHOT) + mask_irq(desc); + preflow_handler(desc); handle_irq_event(desc); |