diff options
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r-- | kernel/irq/handle.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 882c79800107..3e0cbc44bd73 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -458,11 +458,8 @@ unsigned int __do_IRQ(unsigned int irq) | |||
458 | /* | 458 | /* |
459 | * No locking required for CPU-local interrupts: | 459 | * No locking required for CPU-local interrupts: |
460 | */ | 460 | */ |
461 | if (desc->chip->ack) { | 461 | if (desc->chip->ack) |
462 | desc->chip->ack(irq); | 462 | desc->chip->ack(irq); |
463 | /* get new one */ | ||
464 | desc = irq_remap_to_desc(irq, desc); | ||
465 | } | ||
466 | if (likely(!(desc->status & IRQ_DISABLED))) { | 463 | if (likely(!(desc->status & IRQ_DISABLED))) { |
467 | action_ret = handle_IRQ_event(irq, desc->action); | 464 | action_ret = handle_IRQ_event(irq, desc->action); |
468 | if (!noirqdebug) | 465 | if (!noirqdebug) |
@@ -473,10 +470,8 @@ unsigned int __do_IRQ(unsigned int irq) | |||
473 | } | 470 | } |
474 | 471 | ||
475 | spin_lock(&desc->lock); | 472 | spin_lock(&desc->lock); |
476 | if (desc->chip->ack) { | 473 | if (desc->chip->ack) |
477 | desc->chip->ack(irq); | 474 | desc->chip->ack(irq); |
478 | desc = irq_remap_to_desc(irq, desc); | ||
479 | } | ||
480 | /* | 475 | /* |
481 | * REPLAY is when Linux resends an IRQ that was dropped earlier | 476 | * REPLAY is when Linux resends an IRQ that was dropped earlier |
482 | * WAITING is used by probe to mark irqs that are being tested | 477 | * WAITING is used by probe to mark irqs that are being tested |