RE: [usb-storage] [Merging ATA passthru] on integrating SMART/ATA-Security in usb-storage driver

James Bottomley
2005-11-04T18:58:33Z

On Fri, 2005-11-04 at 10:30 -0800, Timothy Thelin wrote:
> And for an even more concrete example:
> The CY7C68300B cypress bridge board (has various siblings as well
> on their site that act very similar) implements SCSI spec 0 (ie it
> doesn't claim to support any scsi spec). Now usb-storage sees
> this in inquiry, and decides to export the device as a scsi2 device
> since based on the usb-storage devs' experience most usb devices
> really want scsi2 cdbs. So SCSI core thinks this is a scsi2 device
> and procedes to mangle the cdbs as they're going through.

What happens if you prevent USB mangling the scsi_level? I think, for
the most part, we would handle 0 in about the same way as we handle 2.
However, we could gate the if around the CDB[1] mangling as

if (scsi_level != SCSI_UNKNOWN && scsi_level <= SCSI_2)

which should fix your problem, I think.

James