[patch 3/4] PCI: Fix dumb bug in mmconfig fix

Greg Kroah-Hartman
2005-12-16T19:09:44Z

[-- Attachment #1: fix-dumb-bug-in-mmconfig-fix.patch --]
[-- Type: text/plain, Size: 917 bytes --]

From: Andi Kleen <ak@suse.de>

Use correct address when referencing mmconfig aperture while checking
for broken MCFG. This was a typo when porting the code from 64bit to
32bit. It caused oopses at boot on some ThinkPads.

Should definitely go into 2.6.15.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
arch/i386/pci/mmconfig.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- gregkh-2.6.orig/arch/i386/pci/mmconfig.c
+++ gregkh-2.6/arch/i386/pci/mmconfig.c
@@ -155,7 +155,7 @@ static __init void unreachable_devices(v
addr = get_base_addr(0, 0, PCI_DEVFN(i, 0));
if (addr != 0)
pci_exp_set_dev_base(addr, 0, PCI_DEVFN(i, 0));
- if (addr == 0 || readl((u32 __iomem *)addr) != val1)
+ if (addr == 0 || readl((u32 __iomem *)mmcfg_virt_addr) != val1)
set_bit(i, fallback_slots);
spin_unlock_irqrestore(&pci_config_lock, flags);
}

--