diff options
Diffstat (limited to 'arch/i386/kernel/acpi/boot.c')
-rw-r--r-- | arch/i386/kernel/acpi/boot.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index 40e5aba3ad3d..97ca17189af5 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c | |||
@@ -202,6 +202,8 @@ int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size) | |||
202 | if (mcfg->config[i].base_reserved) { | 202 | if (mcfg->config[i].base_reserved) { |
203 | printk(KERN_ERR PREFIX | 203 | printk(KERN_ERR PREFIX |
204 | "MMCONFIG not in low 4GB of memory\n"); | 204 | "MMCONFIG not in low 4GB of memory\n"); |
205 | kfree(pci_mmcfg_config); | ||
206 | pci_mmcfg_config_num = 0; | ||
205 | return -ENODEV; | 207 | return -ENODEV; |
206 | } | 208 | } |
207 | } | 209 | } |
@@ -215,7 +217,7 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) | |||
215 | { | 217 | { |
216 | struct acpi_table_madt *madt = NULL; | 218 | struct acpi_table_madt *madt = NULL; |
217 | 219 | ||
218 | if (!phys_addr || !size) | 220 | if (!phys_addr || !size || !cpu_has_apic) |
219 | return -EINVAL; | 221 | return -EINVAL; |
220 | 222 | ||
221 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); | 223 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); |
@@ -621,9 +623,9 @@ extern u32 pmtmr_ioport; | |||
621 | 623 | ||
622 | static int __init acpi_parse_fadt(unsigned long phys, unsigned long size) | 624 | static int __init acpi_parse_fadt(unsigned long phys, unsigned long size) |
623 | { | 625 | { |
624 | struct fadt_descriptor_rev2 *fadt = NULL; | 626 | struct fadt_descriptor *fadt = NULL; |
625 | 627 | ||
626 | fadt = (struct fadt_descriptor_rev2 *)__acpi_map_table(phys, size); | 628 | fadt = (struct fadt_descriptor *)__acpi_map_table(phys, size); |
627 | if (!fadt) { | 629 | if (!fadt) { |
628 | printk(KERN_WARNING PREFIX "Unable to map FADT\n"); | 630 | printk(KERN_WARNING PREFIX "Unable to map FADT\n"); |
629 | return 0; | 631 | return 0; |
@@ -754,7 +756,7 @@ static int __init acpi_parse_madt_ioapic_entries(void) | |||
754 | return -ENODEV; | 756 | return -ENODEV; |
755 | } | 757 | } |
756 | 758 | ||
757 | if (!cpu_has_apic) | 759 | if (!cpu_has_apic) |
758 | return -ENODEV; | 760 | return -ENODEV; |
759 | 761 | ||
760 | /* | 762 | /* |