Commit 3a464adc authored by Len Brown's avatar Len Brown Committed by Len Brown

[ACPI] handle system with NULL DSDT and valid XDSDT

        from ia64 via Alex Williamson
parent 9f950734
...@@ -276,10 +276,17 @@ acpi_get_table_header_early ( ...@@ -276,10 +276,17 @@ acpi_get_table_header_early (
/* Map the DSDT header via the pointer in the FADT */ /* Map the DSDT header via the pointer in the FADT */
if (id == ACPI_DSDT) { if (id == ACPI_DSDT) {
struct acpi_table_fadt *fadt = (struct acpi_table_fadt *) *header; struct fadt_descriptor_rev2 *fadt = (struct fadt_descriptor_rev2 *) *header;
if (fadt->revision == 3 && fadt->Xdsdt) {
*header = (void *) __acpi_map_table(fadt->Xdsdt,
sizeof(struct acpi_table_header));
} else if (fadt->V1_dsdt) {
*header = (void *) __acpi_map_table(fadt->V1_dsdt,
sizeof(struct acpi_table_header));
} else
*header = 0;
*header = (void *) __acpi_map_table(fadt->dsdt_addr,
sizeof(struct acpi_table_header));
if (!*header) { if (!*header) {
printk(KERN_WARNING PREFIX "Unable to map DSDT\n"); printk(KERN_WARNING PREFIX "Unable to map DSDT\n");
return -ENODEV; return -ENODEV;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment