On Saturday, January 15, 2011, Andres Salomon wrote: > On Sat, 15 Jan 2011 21:38:10 +0100 > "Rafael J. Wysocki" <rjw@xxxxxxx> wrote: > > > On Saturday, January 15, 2011, Andres Salomon wrote: > > > On Sat, 15 Jan 2011 14:01:18 +0100 > > > "Rafael J. Wysocki" <rjw@xxxxxxx> wrote: > > > > > > > On Saturday, January 15, 2011, Andres Salomon wrote: > > > > > On Fri, 14 Jan 2011 23:24:27 -0500 (EST) > > > > > Len Brown <lenb@xxxxxxxxxx> wrote: > > > > > > > > > > [...] > > > > > > > This patch causes apei_hest_parse to check both > > > > > > > hest_disabled and acpi_pci_disabled before continuing. > > > > > > > With it, the XO-1 boots properly. > > > > > > > > > > > > The X0-1 has no ACPI support, and thus you are running > > > > > > with acpi_disabled=1, yes? > > > > > > > > > > The XO-1 has no ACPI support, but ACPI support is enabled in the > > > > > kernel (as the XO-1.5 does have ACPI support, and the same > > > > > kernel is used between both) and I'm not passing any arguments > > > > > to the kernel regarding it. The kernel's ACPI code detects that > > > > > it's not there and disables it (the kernel message that's seen > > > > > is "ACPI: Interpreter disabled.") > > > > > > > > > > This is what sets apci_pci_disabled to 1; I'm not doing it > > > > > manually. > > > > > > > > Hmm. Does the appended patch help instead? > > > > > > Nope. acpi_hest_init returns immediately if acpi_disabled, and thus > > > never sets hest_disable. You either need to set hest_disable, or > > > ensure apei_hest_parse checks more than just hest_disable. > > > > OK, so the new one below should help, right? > > Yes, that looks better OK > (though you probably just want to use 'goto err;' instead). Indeed. > I can test it later today. Cool, thanks. Please try the version below with the 'goto'. Rafael --- drivers/acpi/apei/hest.c | 6 +++--- drivers/acpi/pci_root.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) Index: linux-2.6/drivers/acpi/pci_root.c =================================================================== --- linux-2.6.orig/drivers/acpi/pci_root.c +++ linux-2.6/drivers/acpi/pci_root.c @@ -631,11 +631,11 @@ static int acpi_pci_root_remove(struct a static int __init acpi_pci_root_init(void) { + acpi_hest_init(); + if (acpi_pci_disabled) return 0; - acpi_hest_init(); - pci_acpi_crs_quirks(); if (acpi_bus_register_driver(&acpi_pci_root_driver) < 0) return -ENODEV; Index: linux-2.6/drivers/acpi/apei/hest.c =================================================================== --- linux-2.6.orig/drivers/acpi/apei/hest.c +++ linux-2.6/drivers/acpi/apei/hest.c @@ -201,14 +201,14 @@ void __init acpi_hest_init(void) int rc = -ENODEV; unsigned int ghes_count = 0; - if (acpi_disabled) - return; - if (hest_disable) { pr_info(HEST_PFX "Table parsing disabled.\n"); return; } + if (acpi_disabled) + goto err; + status = acpi_get_table(ACPI_SIG_HEST, 0, (struct acpi_table_header **)&hest_tab); if (status == AE_NOT_FOUND) { -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html