ns9xxx: check for irq lockups
authorUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Fri, 25 Apr 2008 13:16:17 +0000 (15:16 +0200)
committerUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Fri, 25 Apr 2008 13:45:08 +0000 (15:45 +0200)
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>
arch/arm/mach-ns9xxx/irq.c

index ba7a9e4888f07aa0ef84d209c332728fe9632ac8..75f2070dec7b2bbc9dfe11731b4b9d7bcee0c242 100644 (file)
@@ -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;