summaryrefslogtreecommitdiff
path: root/kernel/irq
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq')
-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)
mask_irq(desc);
goto out;
}
+
+ if (desc->istate & IRQS_ONESHOT)
+ mask_irq(desc);
+
preflow_handler(desc);
handle_irq_event(desc);