From: Thomas Gleixner Date: Fri, 22 Dec 2006 09:08:14 +0000 (-0800) Subject: [PATCH] genirq: fix irq flow handler uninstall X-Git-Tag: v2.6.20-rc2~43 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d7ac8be4b48737ad1cebd94ed754a269f360708;p=linux-2.6 [PATCH] genirq: fix irq flow handler uninstall The sanity check for no_irq_chip in __set_irq_hander() is unconditional on both install and uninstall of an handler. This triggers false warnings and replaces no_irq_chip by dummy_irq_chip in the uninstall case. Check only, when a real handler is installed. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Acked-by: Sylvain Munaut Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 1c1b7125b8..d27b258557 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -517,8 +517,7 @@ __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained, if (!handle) handle = handle_bad_irq; - - if (desc->chip == &no_irq_chip) { + else if (desc->chip == &no_irq_chip) { printk(KERN_WARNING "Trying to install %sinterrupt handler " "for IRQ%d\n", is_chained ? "chained " : "", irq); /*