aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-12-16 14:08:55 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-16 14:25:25 -0500
commit42f3ab42875a52af7e711803bfb8d8d7cca84c1c (patch)
treecb07374ba0f88582339a8f214ef8db81e4ee1b85
parent52f975ea21e28871a371c2d941e13d64c9f8cd66 (diff)
[PATCH] PCI: Fix dumb bug in mmconfig fix
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>
-rw-r--r--arch/i386/pci/mmconfig.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/i386/pci/mmconfig.c b/arch/i386/pci/mmconfig.c
index 70a9cc132cf7..4bb4d4b0f73a 100644
--- a/arch/i386/pci/mmconfig.c
+++ b/arch/i386/pci/mmconfig.c
@@ -155,7 +155,7 @@ static __init void unreachable_devices(void)
155 addr = get_base_addr(0, 0, PCI_DEVFN(i, 0)); 155 addr = get_base_addr(0, 0, PCI_DEVFN(i, 0));
156 if (addr != 0) 156 if (addr != 0)
157 pci_exp_set_dev_base(addr, 0, PCI_DEVFN(i, 0)); 157 pci_exp_set_dev_base(addr, 0, PCI_DEVFN(i, 0));
158 if (addr == 0 || readl((u32 __iomem *)addr) != val1) 158 if (addr == 0 || readl((u32 __iomem *)mmcfg_virt_addr) != val1)
159 set_bit(i, fallback_slots); 159 set_bit(i, fallback_slots);
160 spin_unlock_irqrestore(&pci_config_lock, flags); 160 spin_unlock_irqrestore(&pci_config_lock, flags);
161 } 161 }