2006-08-02 17:37:03

by Daniel Ritz

[permalink] [raw]
Subject: [PATCH] PCI: use PCI_BIOS as last fallback

[PATCH] PCI: use PCI_BIOS as last fallback

there was a change in 2.6.17 which affected the order in which the PCI access
methods are probed. this gives regressions on some machines with broken BIOS.
the problem is that PCI_BIOS sometimes reports the last bus wrong, leaving cardbus
non-funcational. previously those system worked fine with direct access.
fix it by chaning the order of the probing, having PCI_BIOS as the last fallback.

Signed-off-by: Daniel Ritz <[email protected]>

diff --git a/arch/i386/pci/init.c b/arch/i386/pci/init.c
index c7650a7..caeefd4 100644
--- a/arch/i386/pci/init.c
+++ b/arch/i386/pci/init.c
@@ -11,13 +11,13 @@ #ifdef CONFIG_PCI_MMCONFIG
#endif
if (raw_pci_ops)
return 0;
-#ifdef CONFIG_PCI_BIOS
- pci_pcbios_init();
-#endif
- if (raw_pci_ops)
- return 0;
#ifdef CONFIG_PCI_DIRECT
pci_direct_init();
+ if (raw_pci_ops)
+ return 0;
+#endif
+#ifdef CONFIG_PCI_BIOS
+ pci_pcbios_init();
#endif
return 0;
}