xen/arm: acpi: Rework acpi_boot_table_init error paths

There are multiple path disable ACPI on error. Consolidate in a single
place, this will help in a follow-up patch to add more code on the error
path.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
Julien Grall authored and Stefano Stabellini committed 2017-02-15 17:39:05 -08:00
1 parent 1756ab6083
commit 89bca19082
1 file changed
+14 -11
+14 -11
View File
@@ -234,7 +234,7 @@ static int __init dt_scan_depth1_nodes(const void *fdt, int node,
*/
int __init acpi_boot_table_init(void)
{
int error;
int error = 0;
/*
* Enable ACPI instead of device tree unless
@@ -245,10 +245,7 @@ int __init acpi_boot_table_init(void)
if ( param_acpi_off || ( !param_acpi_force
&& device_tree_for_each_node(device_tree_flattened,
dt_scan_depth1_nodes, NULL)))
{
disable_acpi();
return 0;
}
goto disable;
/*
* ACPI is disabled at this point. Enable it in order to parse
@@ -260,16 +257,22 @@ int __init acpi_boot_table_init(void)
error = acpi_table_init();
if ( error )
{
disable_acpi();
return error;
printk("%s: Unable to initialize table parser (%d)\n",
__FUNCTION__, error);
goto disable;
}
if ( acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt) )
error = acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt);
if ( error )
{
/* disable ACPI if no FADT is found */
disable_acpi();
printk("Can't find FADT\n");
printk("%s: FADT not found (%d)\n", __FUNCTION__, error);
goto disable;
}
return 0;
disable:
disable_acpi();
return error;
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.