aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 10:52:41 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 10:52:41 +0200
commit0637a70a5db98182d9ad3d6ae1ee30acf20afde9 (patch)
tree36b625e24f3fe11a97cd9926ca2be6b2df1cbf89 /drivers/pci/pci.c
parent8f60774a116ced9b73ae3913d511687889efe725 (diff)
downloadkernel_samsung_crespo-0637a70a5db98182d9ad3d6ae1ee30acf20afde9.zip
kernel_samsung_crespo-0637a70a5db98182d9ad3d6ae1ee30acf20afde9.tar.gz
kernel_samsung_crespo-0637a70a5db98182d9ad3d6ae1ee30acf20afde9.tar.bz2
[PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1
Some buggy systems can machine check when config space accesses happen for some non existent devices. i386/x86-64 do some early device scans that might trigger this. Allow pci=noearly to disable this. Also when type 1 is disabling also don't do any early accesses which are always type1. This moves the pci= configuration parsing to be a early parameter. I don't think this can break anything because it only changes a single global that is only used by PCI. Cc: gregkh@suse.de Cc: Trammell Hudson <hudson@osresearch.net> Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r--drivers/pci/pci.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 9f79dd6..684deb6 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -953,13 +953,12 @@ static int __devinit pci_setup(char *str)
}
str = k;
}
- return 1;
+ return 0;
}
+early_param("pci", pci_setup);
device_initcall(pci_init);
-__setup("pci=", pci_setup);
-
#if defined(CONFIG_ISA) || defined(CONFIG_EISA)
/* FIXME: Some boxes have multiple ISA bridges! */
struct pci_dev *isa_bridge;