Skip to content

Commit

Permalink
ACPI: disable ACPI cleanly when bad RSDP found
Browse files Browse the repository at this point in the history
When ACPI is disabled in the BIOS of this VIA C3 box,
it invalidates the RSDP, which Linux notices:

ACPI Error (tbxfroot-0218): A valid RSDP was not found [20080926]

Bug Linux neglected to disable ACPI at that stage,
and later scribbled on smp_found_config:

ACPI: No APIC-table, disabling MPS

But this box doesn't run well in legacy PIC mode,
it needed IOAPIC mode to perform correctly:

http://lkml.org/lkml/2009/2/5/39

So exit ACPI mode cleanly when we first detect
that it is hopeless.

Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Len Brown committed Feb 6, 2009
1 parent f3b39f1 commit 9e3a9d1
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion drivers/acpi/tables.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,12 @@ static void __init check_multiple_madt(void)

int __init acpi_table_init(void)
{
acpi_initialize_tables(initial_tables, ACPI_MAX_TABLES, 0);
acpi_status status;

status = acpi_initialize_tables(initial_tables, ACPI_MAX_TABLES, 0);
if (ACPI_FAILURE(status))
return 1;

check_multiple_madt();
return 0;
}
Expand Down

0 comments on commit 9e3a9d1

Please sign in to comment.