Loading drivers/acpi/apei/bert.c +12 −8 Original line number Diff line number Diff line Loading @@ -97,6 +97,7 @@ static int __init bert_check_table(struct acpi_table_bert *bert_tab) static int __init bert_init(void) { struct apei_resources bert_resources; struct acpi_bert_region *boot_error_region; struct acpi_table_bert *bert_tab; unsigned int region_len; Loading Loading @@ -127,13 +128,14 @@ static int __init bert_init(void) } region_len = bert_tab->region_length; if (!request_mem_region(bert_tab->address, region_len, "APEI BERT")) { pr_err("Can't request iomem region <%016llx-%016llx>.\n", (unsigned long long)bert_tab->address, (unsigned long long)bert_tab->address + region_len - 1); return -EIO; } apei_resources_init(&bert_resources); rc = apei_resources_add(&bert_resources, bert_tab->address, region_len, true); if (rc) return rc; rc = apei_resources_request(&bert_resources, "APEI BERT"); if (rc) goto out_fini; boot_error_region = ioremap_cache(bert_tab->address, region_len); if (boot_error_region) { bert_print_all(boot_error_region, region_len); Loading @@ -142,7 +144,9 @@ static int __init bert_init(void) rc = -ENOMEM; } release_mem_region(bert_tab->address, region_len); apei_resources_release(&bert_resources); out_fini: apei_resources_fini(&bert_resources); return rc; } Loading Loading
drivers/acpi/apei/bert.c +12 −8 Original line number Diff line number Diff line Loading @@ -97,6 +97,7 @@ static int __init bert_check_table(struct acpi_table_bert *bert_tab) static int __init bert_init(void) { struct apei_resources bert_resources; struct acpi_bert_region *boot_error_region; struct acpi_table_bert *bert_tab; unsigned int region_len; Loading Loading @@ -127,13 +128,14 @@ static int __init bert_init(void) } region_len = bert_tab->region_length; if (!request_mem_region(bert_tab->address, region_len, "APEI BERT")) { pr_err("Can't request iomem region <%016llx-%016llx>.\n", (unsigned long long)bert_tab->address, (unsigned long long)bert_tab->address + region_len - 1); return -EIO; } apei_resources_init(&bert_resources); rc = apei_resources_add(&bert_resources, bert_tab->address, region_len, true); if (rc) return rc; rc = apei_resources_request(&bert_resources, "APEI BERT"); if (rc) goto out_fini; boot_error_region = ioremap_cache(bert_tab->address, region_len); if (boot_error_region) { bert_print_all(boot_error_region, region_len); Loading @@ -142,7 +144,9 @@ static int __init bert_init(void) rc = -ENOMEM; } release_mem_region(bert_tab->address, region_len); apei_resources_release(&bert_resources); out_fini: apei_resources_fini(&bert_resources); return rc; } Loading