On Saturday 26 January 2008 15:22:21 Tejun Heo wrote: > Hello, Rusty. Hi Tejun, > There was a non-deterministic behavior involving ata_piix and ahci > drivers on ich6. Both drivers support the chipset but ata_piix is less > capable while ahci might misbehave (chip bug). Generally, ahci should > be preferred as it seems the problem cases seem to be rare. When > drivers are linked in, this is forced by link order. Right. Nasty. This is currently dealt with by blacklisting the lesser driver; if that's wrong, blacklist the other one (blacklisting means that aliases can't pull it in, it needs to be modprobed by name). That kind of sucks because it's not under kernel control and the distros have to do it, but that's how it's always been. After all, they chose to build two drivers for one device, perhaps they are the best people to decide? > >> So, are you saying that modprobe chooses modules in the reverse order of > >> modules.alias file? > > > > That is precisely what I'm saying, and more. > > Oops, then modprobe needs to be updated too. Jon, can you please put > this onto your to-do list too? The modprobe beheavour of loading them all is IMHO correct. The order was never defined however, and reverse was how it was implemented. There is, of course, no reason to change modprobe; just define the current behaviour that the *last* alias is preferred, and generate modules.alias accordingly. Jon's idea of having the later one pull the device away would also work, but seems like it's a complex solution to a corner case. Thanks for the explanation! Rusty. - To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html