This change introduces a label to call cancel_delayed_work_sync in failure path. Cc: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> --- 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-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html