From c496915fe533670d7a982acd504edd51b20b1798 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Wed, 28 Sep 2005 20:29:44 +1000 Subject: [PATCH] --- yaml --- r: 11481 b: refs/heads/master c: beeca08738c4c4024c81a591812bfe38f8c436c0 h: refs/heads/master i: 11479: 1ccb24d556820f174f8201fafc7cba8129d29e48 v: v3 --- [refs] | 2 +- trunk/kernel/irq/handle.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5e1df7b68a59..f94a749eb581 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20c8c2106305729e7d5e06f6c3d390e965a3dd34 +refs/heads/master: beeca08738c4c4024c81a591812bfe38f8c436c0 diff --git a/trunk/kernel/irq/handle.c b/trunk/kernel/irq/handle.c index 3ff7b925c387..51df337b37db 100644 --- a/trunk/kernel/irq/handle.c +++ b/trunk/kernel/irq/handle.c @@ -117,14 +117,16 @@ fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs) /* * No locking required for CPU-local interrupts: */ - desc->handler->ack(irq); + if (desc->handler->ack) + desc->handler->ack(irq); action_ret = handle_IRQ_event(irq, regs, desc->action); desc->handler->end(irq); return 1; } spin_lock(&desc->lock); - desc->handler->ack(irq); + if (desc->handler->ack) + desc->handler->ack(irq); /* * REPLAY is when Linux resends an IRQ that was dropped earlier * WAITING is used by probe to mark irqs that are being tested