lkml.org 
[lkml]   [1999]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.066 / U:0.524 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site