diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2013-05-23 09:30:19 -0700 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-05-23 09:38:38 -0700 |
commit | 139097a0a7cf0f63c1806cdca197f22b6f48501c (patch) | |
tree | e2bd33f1df6d9064d6653e3c28e863345ea59548 /drivers/input | |
parent | 25c9b7bd332584724fb2bb9031377903159537d3 (diff) | |
download | linux-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.c | 2 |
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; |