Max Kellermann wrote: > Hi Andrew, > > since 2.6.14-rc4-mm1, my second ata_piix (SATA) controller does not > show up in dmesg, effectively hiding /dev/sdb. 2.6.14-rc2-mm2 and > older (with the same kernel config) were ok, the same for Linus' > kernels: 2.6.14-rc5 without -mm1 has /dev/sdb, too. > > 0000:00:1f.2 IDE interface: Intel Corp. 82801EB (ICH5) Serial ATA 150 > Storage Controller (rev 02) (prog-if 8f [Master SecP SecO PriP PriO]) > 0000:00:1f.2 0101: 8086:24d1 (rev 02) > > This PCI device (on-board on an Asus P4 mainboard) has two SATA > connectors, showing up as ata1/sda and ata2/sdb. I think I found the bug. ata_pci_init_one() got confused about the meaning of 'n_ports'. I also found another bug in the same area, related to legacy initialization. See the attached patch for a suggested fix (ignore ata_piix changes, which are obviously unrelated). Jeff