summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPramod Gurav <pramod.gurav@smartplayin.com>2014-10-07 18:33:16 +0200
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2014-10-07 18:55:01 +0200
commitb3f9db49c1d383256f95c53c850e90bc2f4e05e4 (patch)
tree3f95db7d91f61600c87f91af2ba6aefec9280c32 /drivers
parentInput: opencores-kbd - switch to using managed resources (diff)
downloadlinux-b3f9db49c1d383256f95c53c850e90bc2f4e05e4.tar.xz
linux-b3f9db49c1d383256f95c53c850e90bc2f4e05e4.zip
Input: adp5588-keys - cancel workqueue in failure path
In case we start with the device not fully quiesced we should make sure we cancel the workqueue after freeing interrupt. Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/input/keyboard/adp5588-keys.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/input/keyboard/adp5588-keys.c b/drivers/input/keyboard/adp5588-keys.c
index 5ef7fcf0e250..728133ec6d7b 100644
--- a/drivers/input/keyboard/adp5588-keys.c
+++ b/drivers/input/keyboard/adp5588-keys.c
@@ -589,6 +589,7 @@ static int adp5588_probe(struct i2c_client *client,
err_free_irq:
free_irq(client->irq, kpad);
+ cancel_delayed_work_sync(&kpad->work);
err_unreg_dev:
input_unregister_device(input);
input = NULL;