Messages in this thread Patch in this message | | | Date | Sun, 21 Mar 1999 16:38:51 +0100 | From | Martin Mares <> | Subject | Re: Scanning a Second PCI bus in 2.2.3 |
| |
Hello!
> I've been running a Quad PPro 200 SMP box on kernels ~2.1.70 upwards > and have never had this problem until my last upgrade from 2.1.128 to > 2.2.3.
By the way -- it's a Compaq, isn't it?
> The box contains 2x Adaptec 7880 SCSI controllers which fail to get > identified at boot, despite the AIC-7xxx driver being compiled in. By > inserting various debug printk's into the source we've tracked the code > down to the detect routines (basically a pci_scan_bus) for the > controller, but then nothing is found. > > Putting Printk's into the PCI routines seem to show that the kernel > never looks at the second PCI bus in the system. Now unfortunalty all > the SCSI controllers are on the motherboard so I don't have to option of > moving them. > > Now I know that the PCI code has been overhauled in the time period I'm > talking about, so does anybody have any idea what the difference maybe. > When I get back to the machine (it's about 200 miles away at the moment) > I'll post a /proc/pci output if people will find it useful.
Please send me 'lspci -vvx' output and try the following patch.
Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth "When you open WINDOWS, you let BUGS in!"
--- arch/i386/kernel/bios32.c.mj Wed Mar 17 11:24:54 1999 +++ arch/i386/kernel/bios32.c Sun Mar 21 14:12:01 1999 @@ -997,15 +997,15 @@ l != 0x0000 && l != 0xffff) { #ifdef CONFIG_PCI_BIOS if (pci_bios_present) { - int succ, idx = 0; + int err, idx = 0; u8 bios_bus, bios_dfn; u16 d; pcibios_read_config_word(n, i, PCI_DEVICE_ID, &d); DBG("BIOS test for %02x:%02x (%04x:%04x)\n", n, i, l, d); - while ((succ = pci_bios_find_device(l, d, idx, &bios_bus, &bios_dfn)) && + while (!(err = pci_bios_find_device(l, d, idx, &bios_bus, &bios_dfn)) && (bios_bus != n || bios_dfn != i)) idx++; - if (!succ) + if (err) break; } #endif - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |