Messages in this thread Patch in this message | | | Date | Wed, 1 Apr 2009 18:06:35 +0100 | From | Luis Henriques <> | Subject | [RESEND][PATCH -tip] irq: DEBUG_SHIRQ executed on irq setup failure |
| |
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: Luis Henriques <henrix@sapo.pt> --- kernel/irq/manage.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index a3eb7ba..39a0f4d 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -914,7 +914,7 @@ int request_threaded_irq(unsigned int irq, irq_handler_t handler, kfree(action); #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 * to happen immediately, so let's make sure.... -- 1.6.2.1
| |