Commit 64887bbd authored by Hanjun Guo's avatar Hanjun Guo Committed by Rafael J. Wysocki
Browse files

ACPI: ipmi: Remove address space handler in error path



The acpi_install_address_space_handler() is coupled with
acpi_remove_address_space_handler() in ipmi module init/exit, but
it forgets to remove the handler in acpi_ipmi_init() if the
ipmi_smi_watcher_register() call fails, so add the removal of the
address space handler in error path.

Signed-off-by: default avatarHanjun Guo <guohanjun@huawei.com>
[ rjw: Changelog edits ]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent f00d2d32
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -597,9 +597,14 @@ static int __init acpi_ipmi_init(void)
		pr_warn("Can't register IPMI opregion space handle\n");
		return -EINVAL;
	}

	result = ipmi_smi_watcher_register(&driver_data.bmc_events);
	if (result)
	if (result) {
		acpi_remove_address_space_handler(ACPI_ROOT_OBJECT,
										  ACPI_ADR_SPACE_IPMI,
										  &acpi_ipmi_space_handler);
		pr_err("Can't register IPMI system interface watcher\n");
	}

	return result;
}