diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-16 16:18:15 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-16 16:18:15 -0800 |
commit | 31b40935a7b27f690d87143caf47148d72c80997 (patch) | |
tree | 8e727ac417320446034208b4dc7027fe501310f2 /pci | |
parent | 83c81275d19e66b459629f42e5111eef282ac9d7 (diff) | |
download | patches-31b40935a7b27f690d87143caf47148d72c80997.tar.gz |
pci detection order fix
Diffstat (limited to 'pci')
-rw-r--r-- | pci/pci-i386-run-bios-pci-detection-before-direct.patch | 55 |
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; + } |