summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2009-01-08 03:14:21 +0100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-01-13 04:48:01 +0100
commitc21f7a527f7757a0e246cea521a5dd3b8e1224d5 (patch)
tree66c04f0e57daaf8109f54fdcb774ca51fe4a26de /drivers/char
parenthvc_console: Change an mb() to smp_mb() and add some comments (diff)
downloadlinux-c21f7a527f7757a0e246cea521a5dd3b8e1224d5.tar.xz
linux-c21f7a527f7757a0e246cea521a5dd3b8e1224d5.zip
hvc_console: Call free_irq() only if request_irq() was successful
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>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/hvc_irq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/hvc_irq.c b/drivers/char/hvc_irq.c
index d09e5688d449..2623e177e8d6 100644
--- a/drivers/char/hvc_irq.c
+++ b/drivers/char/hvc_irq.c
@@ -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;