summaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2013-05-23 09:30:19 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2013-05-23 09:38:38 -0700
commit139097a0a7cf0f63c1806cdca197f22b6f48501c (patch)
treee2bd33f1df6d9064d6653e3c28e863345ea59548 /drivers/input
parent25c9b7bd332584724fb2bb9031377903159537d3 (diff)
downloadlinux-stable-139097a0a7cf0f63c1806cdca197f22b6f48501c.tar.gz
linux-stable-139097a0a7cf0f63c1806cdca197f22b6f48501c.tar.bz2
linux-stable-139097a0a7cf0f63c1806cdca197f22b6f48501c.zip
Input: pmic8xxx-pwrkey - pass correct pointer to free_irq()
free_irq() expects the same pointer that was passed to request_irq(), otherwise the IRQ is not freed. The issue was found using the following coccinelle script: <smpl> @r1@ type T; T devid; @@ request_irq(..., devid) @r2@ type r1.T; T devid; position p; @@ free_irq@p(..., devid) @@ position p != r2.p; @@ *free_irq@p(...) </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/misc/pmic8xxx-pwrkey.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/misc/pmic8xxx-pwrkey.c b/drivers/input/misc/pmic8xxx-pwrkey.c
index afd0af9c4850..b49b738aa9c6 100644
--- a/drivers/input/misc/pmic8xxx-pwrkey.c
+++ b/drivers/input/misc/pmic8xxx-pwrkey.c
@@ -175,7 +175,7 @@ static int pmic8xxx_pwrkey_probe(struct platform_device *pdev)
return 0;
free_press_irq:
- free_irq(key_press_irq, NULL);
+ free_irq(key_press_irq, pwrkey);
unreg_input_dev:
input_unregister_device(pwr);
pwr = NULL;