|
@@ -536,7 +536,8 @@ int apei_resources_request(struct apei_resources *resources,
|
|
|
goto err_unmap_ioport;
|
|
|
}
|
|
|
|
|
|
- return 0;
|
|
|
+ goto arch_res_fini;
|
|
|
+
|
|
|
err_unmap_ioport:
|
|
|
list_for_each_entry(res, &resources->ioport, list) {
|
|
|
if (res == res_bak)
|
|
@@ -551,7 +552,8 @@ err_unmap_iomem:
|
|
|
release_mem_region(res->start, res->end - res->start);
|
|
|
}
|
|
|
arch_res_fini:
|
|
|
- apei_resources_fini(&arch_res);
|
|
|
+ if (arch_apei_filter_addr)
|
|
|
+ apei_resources_fini(&arch_res);
|
|
|
nvs_res_fini:
|
|
|
apei_resources_fini(&nvs_resources);
|
|
|
return rc;
|