diff options
Diffstat (limited to 'kernel/irq/handle.c')
| -rw-r--r-- | kernel/irq/handle.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index e391cbb1f566..dc335ad27525 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
| @@ -178,9 +178,11 @@ fastcall unsigned int __do_IRQ(unsigned int irq) | |||
| 178 | */ | 178 | */ |
| 179 | if (desc->chip->ack) | 179 | if (desc->chip->ack) |
| 180 | desc->chip->ack(irq); | 180 | desc->chip->ack(irq); |
| 181 | action_ret = handle_IRQ_event(irq, desc->action); | 181 | if (likely(!(desc->status & IRQ_DISABLED))) { |
| 182 | if (!noirqdebug) | 182 | action_ret = handle_IRQ_event(irq, desc->action); |
| 183 | note_interrupt(irq, desc, action_ret); | 183 | if (!noirqdebug) |
| 184 | note_interrupt(irq, desc, action_ret); | ||
| 185 | } | ||
| 184 | desc->chip->end(irq); | 186 | desc->chip->end(irq); |
| 185 | return 1; | 187 | return 1; |
| 186 | } | 188 | } |
