Messages in this thread | | | Date | Sat, 25 Sep 1999 12:24:14 -0600 | From | Russell Kroll <> | Subject | Re: SCSI NCR53C810 isn't detected by 2.3.18 |
| |
> I got reports from 3 people, that it doesn't work. Maybe the > restructured PCI-files are the source. Neither 2.3.18ac8 nor the PCI > patches (ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/alpha/l-pci-2.3.18-3.gz) > helped me. :-(
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/
| |