[PATCH] PCI: Fix dumb bug in mmconfig fix
authorAndi Kleen <ak@suse.de>
Fri, 16 Dec 2005 19:08:55 +0000 (11:08 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 16 Dec 2005 19:25:25 +0000 (11:25 -0800)
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>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/pci/mmconfig.c

index 70a9cc1..4bb4d4b 100644 (file)
@@ -155,7 +155,7 @@ static __init void unreachable_devices(void)
                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);
        }