Commit 6ce51c43 authored by Luis Henriques's avatar Luis Henriques Committed by Ingo Molnar

genirq: do not execute DEBUG_SHIRQ when irq setup failed

When requesting an IRQ, the DEBUG_SHIRQ code executes a fake IRQ just to make
sure the driver is ready to receive an IRQ immediately.  The problem was that
this fake IRQ was being executed even if interrupt line failed to be allocated
by __setup_irq.
Signed-off-by: default avatarLuis Henriques <henrix@sapo.pt>
LKML-Reference: <20090401170635.GA4392@hades.domain.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
[ fixed bug pointed out by a warning reported by Stephen Rothwell ]
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 833bb304
...@@ -768,7 +768,7 @@ int request_irq(unsigned int irq, irq_handler_t handler, ...@@ -768,7 +768,7 @@ int request_irq(unsigned int irq, irq_handler_t handler,
kfree(action); kfree(action);
#ifdef CONFIG_DEBUG_SHIRQ #ifdef CONFIG_DEBUG_SHIRQ
if (irqflags & IRQF_SHARED) { if (!retval && (irqflags & IRQF_SHARED)) {
/* /*
* It's a shared IRQ -- the driver ought to be prepared for it * It's a shared IRQ -- the driver ought to be prepared for it
* to happen immediately, so let's make sure.... * to happen immediately, so let's make sure....
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment