diff options
Diffstat (limited to 'kernel/irq/chip.c')
-rw-r--r-- | kernel/irq/chip.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 075385549dcd..420fa6bdb117 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c | |||
@@ -472,7 +472,7 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc) | |||
472 | 472 | ||
473 | handle_irq_event(desc); | 473 | handle_irq_event(desc); |
474 | 474 | ||
475 | if (!(desc->status & (IRQ_DISABLED | IRQ_ONESHOT))) | 475 | if (!(desc->status & IRQ_DISABLED) && !(desc->istate & IRQS_ONESHOT)) |
476 | unmask_irq(desc); | 476 | unmask_irq(desc); |
477 | out_unlock: | 477 | out_unlock: |
478 | raw_spin_unlock(&desc->lock); | 478 | raw_spin_unlock(&desc->lock); |