[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] xen/arm: acpi: Rework acpi_boot_table_init error paths
commit 89bca190824e223316bb5a6dc3024bc9aaf02ce1 Author: Julien Grall <julien.grall@xxxxxxx> AuthorDate: Fri Feb 3 19:18:48 2017 +0000 Commit: Stefano Stabellini <sstabellini@xxxxxxxxxx> CommitDate: Wed Feb 15 17:39:05 2017 -0800 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@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- xen/arch/arm/acpi/boot.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/xen/arch/arm/acpi/boot.c b/xen/arch/arm/acpi/boot.c index c3242a0..889208a 100644 --- a/xen/arch/arm/acpi/boot.c +++ b/xen/arch/arm/acpi/boot.c @@ -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; } -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |