Tejun Heo wrote: > Reimplement port_map handling such that > > 1. Non-zero PORTS_IMPL value is always examined and used if consistent > with cap.n_ports. > > 2. When PI and cat.n_ports are inconsistent, honor cap.n_ports and > force port_map to be ((1 << cap.n_ports) - 1). > > 3. There were two separate places dealing with port_map. Unify them > to one. > > As all newer ahci chips seem to get PI correct and older ones usually > have zero PI. Controllers with holes in PI are very unlikely to screw > up PI, so #2 makes more sense than following inconsistent PI. > > Without this change, not setting ATA_FLAG_HONOR_PI when it's needed > results in weird detection failure. This changed logic should be able > to handle all known cases correctly automatically. > > Verified on ICH6 (reports 0 PI), ICH8 (with holes in port_map), ICH9, > JMB360 and JMB363. > > Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> > --- > Jeff, SIS chips seem to require HONOR_PI flag for -stable. I'll > submit the patch as soon as it's verified. For -upstream, I think > this is much better fix. Oh, forgot to mention. Not sure whether mv6145 hack is broken by this or not. Please verify. Thanks. -- tejun - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html