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: Hanjun Guo <guohanjun@huawei.com> [ rjw: Changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
f00d2d32cc
commit
64887bbdda
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue