PCI: avoid early PCI mmconfig init if pci=noearly is given in cmdline
authorJacob Pan <jacob.jun.pan@intel.com>
Mon, 8 Dec 2008 17:44:16 +0000 (09:44 -0800)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 7 Jan 2009 19:12:46 +0000 (11:12 -0800)
Early type 1 accesses can cause problems on some platforms, and
pci=noearly is supposed to prevent them from occurring.  However, early
mcfg probing code uses type 1 and  isn't protected by a check for
noearly.  This patch fixes that problem.

Signed-off-by: Jacob Pan <jacob.jun.pan@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
arch/x86/pci/init.c

index bec3b048e72b6b0148efad321b6c24279b73e8df..25a1f8efed4a0f40004c8ca1c8d8586c81d36d14 100644 (file)
@@ -12,7 +12,8 @@ static __init int pci_arch_init(void)
        type = pci_direct_probe();
 #endif
 
-       pci_mmcfg_early_init();
+       if (!(pci_probe & PCI_PROBE_NOEARLY))
+               pci_mmcfg_early_init();
 
 #ifdef CONFIG_PCI_OLPC
        if (!pci_olpc_init())