On Wed, 12 May 2010, James Bottomley wrote: > > This sounds like it is a bug in the SCSI midlayer, not in usb-storage. > > I don't think so ... we'll return sense if sense is present (i.e. the > device returned CHECK CONDITION). > Sense data is never returned in the absence of CHECK CONDITION. This is > what SAT says has to happen if you set CK_COND in ATA(12/16): > > The CK_COND (Check Condition) bit may be used to request the > SATL to > return a copy of ATA register information in the sense data upon > command completion. If the CK_COND bit is set to one the SATL > shall > return a status of CHECK CONDITION when the ATA command > completes, > even if the command completes successfully, and return the ATA > Normal Output fields (see ATA8-ACS) in the sense data using the > ATA Return descriptor (see 12.2.6). If the CK_COND bit is set to > zero, then the SATL shall terminate the command with CHECK > CONDITION status only if an error occurs in processing the > command. See clause 11 for a description of ATA error > conditions. That's right. Since the command in question did have CK_COND set, the device should have returned CHECK CONDITION status instead of GOOD status. Therefore this indicates a bug in the device, not in the kernel. hdparm could work around it here by issuing an explicit REQUEST SENSE command, but in general it will cause trouble. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html