Call input_free_device when input_register_device fails. Signed-off-by: hongao <hongao@xxxxxxxxxxxxx> diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c index cc61020756be..8765e9a64404 100644 --- a/drivers/acpi/button.c +++ b/drivers/acpi/button.c @@ -602,8 +602,10 @@ static int acpi_button_add(struct acpi_device *device) input_set_drvdata(input, device); error = input_register_device(input); - if (error) + if (error) { + input_free_device(input); goto err_remove_fs; + } switch (device->device_type) { case ACPI_BUS_TYPE_POWER_BUTTON: base-commit: e5b3efbe1ab1793bb49ae07d56d0973267e65112 -- 2.33.1