hvc_console: Call free_irq() only if request_irq() was successful
authorMilton Miller <miltonm@bga.com>
Thu, 8 Jan 2009 02:14:21 +0000 (02:14 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 13 Jan 2009 03:48:01 +0000 (14:48 +1100)
Only call free_irq if we marked the request_irq has having succeeded
instead of whenever the the sub-driver identified the interrupt to use.

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
drivers/char/hvc_irq.c

index d09e5688d4497242d4bcc6dcad23abc1a4f96202..2623e177e8d61d501fe1c39dd57d3768bfcad481 100644 (file)
@@ -37,7 +37,7 @@ int notifier_add_irq(struct hvc_struct *hp, int irq)
 
 void notifier_del_irq(struct hvc_struct *hp, int irq)
 {
-       if (!irq)
+       if (!hp->irq_requested)
                return;
        free_irq(irq, hp);
        hp->irq_requested = 0;