This change introduces a label to call cancel_delayed_work_sync in failure path.
Cc: Michael Hennerich <michael.henner...@analog.com> Cc: Dmitry Torokhov <dmitry.torok...@gmail.com> Cc: linux-in...@vger.kernel.org Signed-off-by: Pramod Gurav <pramod.gu...@smartplayin.com> --- drivers/input/keyboard/adp5588-keys.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/input/keyboard/adp5588-keys.c b/drivers/input/keyboard/adp5588-keys.c index 5ef7fcf..b494062 100644 --- a/drivers/input/keyboard/adp5588-keys.c +++ b/drivers/input/keyboard/adp5588-keys.c @@ -559,7 +559,7 @@ static int adp5588_probe(struct i2c_client *client, error = input_register_device(input); if (error) { dev_err(&client->dev, "unable to register input device\n"); - goto err_free_mem; + goto err_delayed_work; } error = request_irq(client->irq, adp5588_irq, @@ -592,6 +592,8 @@ static int adp5588_probe(struct i2c_client *client, err_unreg_dev: input_unregister_device(input); input = NULL; + err_delayed_work: + cancel_delayed_work_sync(&kpad->work); err_free_mem: input_free_device(input); kfree(kpad); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/