diff options
| -rw-r--r-- | kernel/irq/chip.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 5765aad94998..c1660194d115 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c | |||
| @@ -548,13 +548,8 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) | |||
| 548 | kstat_incr_irqs_this_cpu(irq, desc); | 548 | kstat_incr_irqs_this_cpu(irq, desc); |
| 549 | 549 | ||
| 550 | /* Start handling the irq */ | 550 | /* Start handling the irq */ |
| 551 | if (unlikely(desc->status & IRQ_ONESHOT)) { | 551 | if (desc->chip->ack) |
| 552 | desc->status |= IRQ_MASKED; | 552 | desc->chip->ack(irq); |
| 553 | mask_ack_irq(desc, irq); | ||
| 554 | } else { | ||
| 555 | if (desc->chip->ack) | ||
| 556 | desc->chip->ack(irq); | ||
| 557 | } | ||
| 558 | 553 | ||
| 559 | /* Mark the IRQ currently in progress.*/ | 554 | /* Mark the IRQ currently in progress.*/ |
| 560 | desc->status |= IRQ_INPROGRESS; | 555 | desc->status |= IRQ_INPROGRESS; |
