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