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>
                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);
        }