Skip to content

Commit

Permalink
ACPI: scan: Put SPCR and STAO table after using it
Browse files Browse the repository at this point in the history
The SPCR and STAO table needs to be released after
using it.

Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Hanjun Guo authored and Rafael J. Wysocki committed May 9, 2020
1 parent f900bf4 commit ead7ba1
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions drivers/acpi/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -2157,10 +2157,13 @@ static void __init acpi_get_spcr_uart_addr(void)

status = acpi_get_table(ACPI_SIG_SPCR, 0,
(struct acpi_table_header **)&spcr_ptr);
if (ACPI_SUCCESS(status))
spcr_uart_addr = spcr_ptr->serial_port.address;
else
printk(KERN_WARNING PREFIX "STAO table present, but SPCR is missing\n");
if (ACPI_FAILURE(status)) {
pr_warn(PREFIX "STAO table present, but SPCR is missing\n");
return;
}

spcr_uart_addr = spcr_ptr->serial_port.address;
acpi_put_table((struct acpi_table_header *)spcr_ptr);
}

static bool acpi_scan_initialized;
Expand Down Expand Up @@ -2196,10 +2199,12 @@ int __init acpi_scan_init(void)
(struct acpi_table_header **)&stao_ptr);
if (ACPI_SUCCESS(status)) {
if (stao_ptr->header.length > sizeof(struct acpi_table_stao))
printk(KERN_INFO PREFIX "STAO Name List not yet supported.");
pr_info(PREFIX "STAO Name List not yet supported.\n");

if (stao_ptr->ignore_uart)
acpi_get_spcr_uart_addr();

acpi_put_table((struct acpi_table_header *)stao_ptr);
}

acpi_gpe_apply_masked_gpes();
Expand Down

0 comments on commit ead7ba1

Please sign in to comment.