diff options
author | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-04-25 15:16:17 +0200 |
---|---|---|
committer | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-04-25 15:45:08 +0200 |
commit | a57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a (patch) | |
tree | 8e80fbd0600b7f4be3967311961c118b7db013a2 /arch/arm/mach-ns9xxx | |
parent | ns9xxx: fix handle_prio_irq to unmask irqs with lower priority (diff) | |
download | linux-a57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a.tar.xz linux-a57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a.zip |
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>
Diffstat (limited to 'arch/arm/mach-ns9xxx')
-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 ba7a9e4888f0..75f2070dec7b 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; |