From: Andy Lutomirski <l...@kernel.org> Rearrange acpi_wmi_add to use Linux's error handling conventions.
Signed-off-by: Andy Lutomirski <l...@kernel.org> Cc: Andy Lutomirski <l...@amacapital.net> Cc: Mario Limonciello <mario_limoncie...@dell.com> Cc: Pali Rohár <pali.ro...@gmail.com> Cc: Rafael Wysocki <r...@rjwysocki.net> Cc: linux-kernel@vger.kernel.org Cc: platform-driver-...@vger.kernel.org Cc: linux-a...@vger.kernel.org Signed-off-by: Darren Hart (VMware) <dvh...@infradead.org> --- drivers/platform/x86/wmi.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index c6e11b5..ac60a51 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -803,20 +803,24 @@ static int acpi_wmi_add(struct acpi_device *device) &acpi_wmi_ec_space_handler, NULL, NULL); if (ACPI_FAILURE(status)) { - pr_err("Error installing EC region handler\n"); + dev_err(&device->dev, "Error installing EC region handler\n"); return -ENODEV; } error = parse_wdg(device); if (error) { - acpi_remove_address_space_handler(device->handle, - ACPI_ADR_SPACE_EC, - &acpi_wmi_ec_space_handler); pr_err("Failed to parse WDG method\n"); - return error; + goto err_remove_handler; } return 0; + +err_remove_handler: + acpi_remove_address_space_handler(device->handle, + ACPI_ADR_SPACE_EC, + &acpi_wmi_ec_space_handler); + + return error; } static int __init acpi_wmi_init(void) -- 2.9.4