[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/8] xen/arm: acpi: Rework acpi_boot_table_init error paths
On Fri, 3 Feb 2017, Julien Grall wrote: > 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; > } > -- > 1.9.1 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |