From a57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Fri, 25 Apr 2008 15:16:17 +0200 Subject: [PATCH] ns9xxx: check for irq lockups MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- arch/arm/mach-ns9xxx/irq.c | 5 +++++ 1 file changed, 5 insertions(+) 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;