aboutsummaryrefslogtreecommitdiffstats
path: root/pci
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-03-16 16:18:15 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-16 16:18:15 -0800
commit31b40935a7b27f690d87143caf47148d72c80997 (patch)
tree8e727ac417320446034208b4dc7027fe501310f2 /pci
parent83c81275d19e66b459629f42e5111eef282ac9d7 (diff)
downloadpatches-31b40935a7b27f690d87143caf47148d72c80997.tar.gz
pci detection order fix
Diffstat (limited to 'pci')
-rw-r--r--pci/pci-i386-run-bios-pci-detection-before-direct.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/pci/pci-i386-run-bios-pci-detection-before-direct.patch b/pci/pci-i386-run-bios-pci-detection-before-direct.patch
new file mode 100644
index 0000000000000..3ef9a677480a1
--- /dev/null
+++ b/pci/pci-i386-run-bios-pci-detection-before-direct.patch
@@ -0,0 +1,55 @@
+From haveblue@us.ibm.com Thu Mar 16 16:14:54 2006
+From: Dave Hansen <haveblue@us.ibm.com>
+Subject: PCI: i386: run BIOS PCI detection before direct
+To: linux-kernel@vger.kernel.org
+Cc: <akpm@osdl.org>, <ak@suse.de>, <gregkh@suse.de>,
+ Dave Hansen <haveblue@us.ibm.com>
+Date: Thu, 16 Mar 2006 16:03:03 -0800
+Message-Id: <20060317000303.13252107@localhost.localdomain>
+
+
+from 2.6.16-rc3-mm1 through at least 2.6.16-rc6-mm1 a patch from
+Andi Kleen, titled
+
+ x86_64-i386-pci-ordering.patch
+
+which is now called:
+
+ gregkh-pci-pci-give-pci-config-access-initialization-a-defined-ordering.patch
+
+has caused a 4-way PIII Xeon (non-NUMA) to stop detecting its SCSI
+card. I believe this is also the issue keeping -mm from booting
+on "elm3b67" from http://test.kernel.org/.
+
+The following patch reverts the ordering of the PCI detection code
+to always run the BIOS initialization, first. As far as I can
+tell, this was the original behavior, and it makes my machine boot
+again.
+
+Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+
+ arch/i386/pci/init.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- gregkh-2.6.orig/arch/i386/pci/init.c
++++ gregkh-2.6/arch/i386/pci/init.c
+@@ -12,13 +12,13 @@ static __init int pci_access_init(void)
+ #endif
+ if (raw_pci_ops)
+ return 0;
+-#ifdef CONFIG_PCI_DIRECT
+- pci_direct_init();
++#ifdef CONFIG_PCI_BIOS
++ pci_pcbios_init();
+ #endif
+ if (raw_pci_ops)
+ return 0;
+-#ifdef CONFIG_PCI_BIOS
+- pci_pcbios_init();
++#ifdef CONFIG_PCI_DIRECT
++ pci_direct_init();
+ #endif
+ return 0;
+ }