diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2013-05-23 12:30:19 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-05-23 12:38:38 -0400 |
commit | 139097a0a7cf0f63c1806cdca197f22b6f48501c (patch) | |
tree | e2bd33f1df6d9064d6653e3c28e863345ea59548 /drivers/input/misc | |
parent | 25c9b7bd332584724fb2bb9031377903159537d3 (diff) |
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/misc')
-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) | |||
175 | return 0; | 175 | return 0; |
176 | 176 | ||
177 | free_press_irq: | 177 | free_press_irq: |
178 | free_irq(key_press_irq, NULL); | 178 | free_irq(key_press_irq, pwrkey); |
179 | unreg_input_dev: | 179 | unreg_input_dev: |
180 | input_unregister_device(pwr); | 180 | input_unregister_device(pwr); |
181 | pwr = NULL; | 181 | pwr = NULL; |