summaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2013-05-23 09:30:23 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2013-05-23 09:38:41 -0700
commit737f644c279b65b46ca9fe9ad149c713ca8b2663 (patch)
treed28ff305d743b1e3262ecbf4bf464957f4e3553e /drivers/input
parent139097a0a7cf0f63c1806cdca197f22b6f48501c (diff)
Input: navpoint - 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/mouse/navpoint.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/mouse/navpoint.c b/drivers/input/mouse/navpoint.c
index 8e1b98ea5648..0b8d33591dee 100644
--- a/drivers/input/mouse/navpoint.c
+++ b/drivers/input/mouse/navpoint.c
@@ -287,7 +287,7 @@ static int navpoint_probe(struct platform_device *pdev)
return 0;
err_free_irq:
- free_irq(ssp->irq, &pdev->dev);
+ free_irq(ssp->irq, navpoint);
err_free_mem:
input_free_device(input);
kfree(navpoint);