aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>2008-04-25 15:16:17 +0200
committerUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>2008-04-25 15:45:08 +0200
commita57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a (patch)
tree8e80fbd0600b7f4be3967311961c118b7db013a2 /arch/arm
parenta13c81952444d032ad3b5b7027b330150dbe2408 (diff)
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')
-rw-r--r--arch/arm/mach-ns9xxx/irq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-ns9xxx/irq.c b/arch/arm/mach-ns9xxx/irq.c
index ba7a9e4888f..75f2070dec7 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;