Comparing 2.3.14 (last one that worked, but not stock - it needs a patch)
to 2.3.18 took me down through the ncr driver into drivers/pci/pci.c. In
pci_do_scan_bus(), it looks like the kernel is missing everything but the
first board on the system. 2.3.14 finds all of them in there, but 2.3.18
quits after the very first one.
Using some primitive techniques (add printk, recompile, reboot), I found
that the 2.3.18 version of that function hits a certain continue way too
often. Down around line 386 in that file, you find:
if (pci_read_config_byte(dev, PCI_HEADER_TYPE, &hdr_type))
continue;
For whatever reason, the condition is true for every other device, so it
hits the continue and hops over the code down below that adds the card to
the device chain. I haven't been able to figure out what's different in
the pci_read_config_byte that would cause this, but hopefully someone will
be able to make some use of this data.
-
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/