ACPI: APEI: Put the boot error record table after parsing
authorHanjun Guo <guohanjun@huawei.com>
Thu, 7 May 2020 09:09:15 +0000 (17:09 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 9 May 2020 09:29:17 +0000 (11:29 +0200)
The mapped boot error record table is not used after
bert_init(), release it.

Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/apei/bert.c

index 1155fb9..19e50fc 100644 (file)
@@ -119,7 +119,7 @@ static int __init bert_init(void)
        rc = bert_check_table(bert_tab);
        if (rc) {
                pr_err(FW_BUG "table invalid.\n");
-               return rc;
+               goto out_put_bert_tab;
        }
 
        region_len = bert_tab->region_length;
@@ -127,7 +127,7 @@ static int __init bert_init(void)
        rc = apei_resources_add(&bert_resources, bert_tab->address,
                                region_len, true);
        if (rc)
-               return rc;
+               goto out_put_bert_tab;
        rc = apei_resources_request(&bert_resources, "APEI BERT");
        if (rc)
                goto out_fini;
@@ -142,6 +142,8 @@ static int __init bert_init(void)
        apei_resources_release(&bert_resources);
 out_fini:
        apei_resources_fini(&bert_resources);
+out_put_bert_tab:
+       acpi_put_table((struct acpi_table_header *)bert_tab);
 
        return rc;
 }