PCI: avoid early PCI mmconfig init if pci=noearly is given in cmdline
Jacob Pan [Mon, 8 Dec 2008 17:44:16 +0000 (09:44 -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 bec3b04..25a1f8e 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())