diff options
author | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-04-25 13:16:17 (GMT) |
---|---|---|
committer | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-04-25 13:45:08 (GMT) |
commit | a57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a (patch) | |
tree | 8e80fbd0600b7f4be3967311961c118b7db013a2 | |
parent | a13c81952444d032ad3b5b7027b330150dbe2408 (diff) | |
download | linux-a57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a.tar.xz |
ns9xxx: check for irq lockups
When I copy-adapted handle_level_irq I skipped note_interrupt because
I considered it unimportant. If I had understand its importance I would
have saved myself some ours of debugging.
Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
-rw-r--r-- | arch/arm/mach-ns9xxx/irq.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-ns9xxx/irq.c b/arch/arm/mach-ns9xxx/irq.c index ba7a9e4..75f2070 100644 --- a/arch/arm/mach-ns9xxx/irq.c +++ b/arch/arm/mach-ns9xxx/irq.c @@ -78,6 +78,11 @@ void handle_prio_irq(unsigned int irq, struct irq_desc *desc) action_ret = handle_IRQ_event(irq, action); + /* XXX: There is no direct way to access noirqdebug, so check + * unconditionally for spurious irqs... + * Maybe this function should go to kernel/irq/chip.c? */ + note_interrupt(irq, desc, action_ret); + spin_lock(&desc->lock); desc->status &= ~IRQ_INPROGRESS; |