Correctly free driver related data when initialization fails. Trivial: Clarify a diagnostic message. Signed-off-by: Christopher Heiny <cheiny@xxxxxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Cc: Linux Walleij <linus.walleij@xxxxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> --- drivers/input/rmi4/rmi_f01.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/input/rmi4/rmi_f01.c b/drivers/input/rmi4/rmi_f01.c index 381ad60..e4a6df9 100644 --- a/drivers/input/rmi4/rmi_f01.c +++ b/drivers/input/rmi4/rmi_f01.c @@ -149,7 +149,7 @@ static int rmi_f01_alloc_memory(struct rmi_function *fn, f01 = devm_kzalloc(&fn->dev, sizeof(struct f01_data), GFP_KERNEL); if (!f01) { - dev_err(&fn->dev, "Failed to allocate fn_01_data.\n"); + dev_err(&fn->dev, "Failed to allocate f01_data.\n"); return -ENOMEM; } @@ -158,6 +158,7 @@ static int rmi_f01_alloc_memory(struct rmi_function *fn, GFP_KERNEL); if (!f01->device_control.interrupt_enable) { dev_err(&fn->dev, "Failed to allocate interrupt enable.\n"); + devm_kfree(&fn->dev, f01); return -ENOMEM; } fn->data = f01; @@ -381,7 +382,8 @@ static int rmi_f01_initialize(struct rmi_function *fn) return 0; error_exit: - kfree(data); + devm_kfree(&fn->dev, data->device_control.interrupt_enable); + devm_kfree(&fn->dev, data); return error; } -- 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