When I try to security-erase a usb flash drive, hdparm give me the following message:
SG_IO: bad/missing sense data, sb[]: f0 00 01 00 50 40 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
It looks like an error to me at the beginning, but after I found that the erase command actually worked without a problem, I look up a bit on the code and spec. It's basically because hdparm doesn't consider fixed format sense data valid. Although according to the SAT spec, a spec compliant drive should return descriptor format sense data when it is an ATA pass-through command, but in reality it doesn't seem to cause actual problem.
Also this only happens when the ck_cond bit is set. I wonder if the bit is actually necessary because it makes the drive return the sense data no matter the command failed or succeeded, while leaving the ck_cond bit unset it return the data only if the command failed, which probably gives the user better idea on the status of the command.