diff mbox

[v2,03/18] x86/PCI: MMCONFIG: step through MCFG table, not pci_mmcfg_config[]

Message ID 20091114003347.30492.42818.stgit@bob.kio (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Bjorn Helgaas Nov. 14, 2009, 12:33 a.m. UTC
None
diff mbox

Patch

diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c
index fbadb89..7a7b6ba 100644
--- a/arch/x86/pci/mmconfig-shared.c
+++ b/arch/x86/pci/mmconfig-shared.c
@@ -554,6 +554,7 @@  static int __init acpi_mcfg_check_entry(struct acpi_table_mcfg *mcfg,
 static int __init pci_parse_mcfg(struct acpi_table_header *header)
 {
 	struct acpi_table_mcfg *mcfg;
+	struct acpi_mcfg_allocation *cfg_table, *cfg;
 	unsigned long i;
 	int entries, config_size;
 
@@ -586,8 +587,10 @@  static int __init pci_parse_mcfg(struct acpi_table_header *header)
 	memcpy(pci_mmcfg_config, &mcfg[1], config_size);
 	pci_mmcfg_config_num = entries;
 
+	cfg_table = (struct acpi_mcfg_allocation *) &mcfg[1];
 	for (i = 0; i < entries; i++) {
-		if (acpi_mcfg_check_entry(mcfg, &pci_mmcfg_config[i])) {
+		cfg = &cfg_table[i];
+		if (acpi_mcfg_check_entry(mcfg, cfg)) {
 			kfree(pci_mmcfg_config);
 			pci_mmcfg_config_num = 0;
 			return -ENODEV;