However, I think I've found the problem. Notice that the external PCI bridge comes before the nForce onboard IDE controller. In the udev log, it can be seen that the enumeration has a slightly different scheme, placing the addon card before the onboard controller:
The extra nesting seems to be the trouble? 0000:01:08.0 should come after 0000:00:09.0, but because of the 0000:00:08.0 it doesn't. Might this be the place to fix it?
I've booted the Dapper beta2 livecd and found the same problem. As before, lspci shows the IDE addon card later in bus order:
0000:00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)
0000:00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
0000:00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
0000:01:07.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 04)
0000:01:07.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 01)
0000:01:08.0 RAID bus controller: Silicon Image, Inc. PCI0680 Ultra ATA-133 Host Controller (rev 02)
However, I think I've found the problem. Notice that the external PCI bridge comes before the nForce onboard IDE controller. In the udev log, it can be seen that the enumeration has a slightly different scheme, placing the addon card before the onboard controller:
PHYSDEVPATH= /devices/ pci0000: 00/0000: 00:08.0/ 0000:01: 08.0/ide0/ 0.0
The extra nesting seems to be the trouble? 0000:01:08.0 should come after 0000:00:09.0, but because of the 0000:00:08.0 it doesn't. Might this be the place to fix it?