2002-09-10 22:16:46

by James Cleverdon

[permalink] [raw]
Subject: [PATCH] Buglet in 2.4.19's arch/i386/kernel/pci-pc.c

Despite the comment, the return from direct check function was overwriting the
value found by the BIOS check, assuming both are enabled. Oddly, this was
keeping my 2.4.20-pre-ac Summit backport from booting.

Please apply.


--- 2.4.19/arch/i386/kernel/pci-pc.c Fri Aug 2 17:39:42 2002
+++ acx/arch/i386/kernel/pci-pc.c Tue Sep 10 15:14:55 2002
@@ -1276,6 +1276,8 @@

void __devinit pcibios_config_init(void)
{
+ struct pci_ops *pcip;
+
/*
* Try all known PCI access methods. Note that we support using
* both PCI BIOS and direct access, with a preference for direct.
@@ -1293,7 +1295,8 @@

#ifdef CONFIG_PCI_DIRECT
if ((pci_probe & (PCI_PROBE_CONF1 | PCI_PROBE_CONF2))
- && (pci_root_ops = pci_check_direct())) {
+ && (pcip = pci_check_direct())) {
+ pci_root_ops = pcip;
if (pci_root_ops == &pci_direct_conf1) {
pci_config_read = pci_conf1_read;
pci_config_write = pci_conf1_write;


--
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot com