aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/acpi/boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel/acpi/boot.c')
-rw-r--r--arch/i386/kernel/acpi/boot.c10
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
622static int __init acpi_parse_fadt(unsigned long phys, unsigned long size) 624static 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 /*