Sorry that Yahoo web mail is probably going to deformat this message. Tejun Heo replied to me and One Thousand Gnomes: >>> >>> If someone has set a password on an ATA/SATA hard drive and someone >>> later connects the drive to a Linux system (before or after booting >>> that Linux system), libata reacts in an unbearably stupid manner. >> >> Yes. It's well known. Send patches if you care. So far nobody has cared >> enough to write the code to use the key rings to deal with drive >> unlocking. > >Hmmm... the reads are prolly from the partition code What? When the driver doesn't even know whether the disk has partitions (it might not have been partitioned before the password was set) there is already code trying to read partitions? And it is partition code that sends resets to the port and to the port multiplier, interfering with all drives connected to the port? Anyway, the drive's identification data already reveals that the drive is passworded and locked. hdparm knows how to interpret and display that fact. The driver has enough information to decide not to even try looking for partitions, not try reading, not issue an error, etc. Only later if a program tries to read something, it might be reasonable to try reading before delivering an error, because maybe the driver didn't check if the drive has become unlocked in the meantime. But when the error occurs, check to see if the reason is a password lock and do not send resets to the port and the port multiplier. >Does anyone want to give a crack at it? One Thousand Gnomes said I should ^_^ I think it was last year that I asked about my proposed code to increase some timeouts (drives connected through port multipliers do not always respond as quickly as the driver thinks) but no one answered. I made the change myself but am not sure yet if it helps. I think it was last year that I commented on some WTF code in a Marvell SAS driver. No one answered. Even if I find time to make this contribution (fat chance), I cannot realisticly expect anyone to accept my code. -- 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