Alan Cox wrote:
When checking for CFA feature set support, ata_id_is_cfa() tests bit 2 in word 82 of the identify data instead the word 83. It also checks the ATA revision in the word 80 instead of usual validity check for the words 82-83 -- word 83 bit 14 set, bit 15 cleared.
The word 82 validity bit is not sufficient as that bit is itself not defined in ATA < 3. Otherwise the change looks correct.
Besides, I find the necessity of ATA revison check somewhat arguable. Words 64-127 were reserved since ATA-1 which meant that they shall be set to 0.
One reason for the 0xC000/0x4000 check is that they were not - various very old devices like to return 0xFFFF for all the spare bits as do a fair number of EIDE devices.
Yes, but bit 14/15 check should cover such case without the revision check.
Yes it's probably paranoia but this is ATA ;)
So, we want ot stay paranoid WRT ata_id_is_cf()? We then have to be paranoid consitently. :-)
MBR, Sergei -- 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