Hi, On 09/10/2014 04:06 PM, Oliver Neukum wrote: > On Wed, 2014-09-10 at 13:46 +0200, Hans de Goede wrote: >> I've access to a number of different uas devices now, and none of them use >> old style sense urbs. The only case where these code-paths trigger is with >> the asm1051 and there they do the wrong thing, as the asm1051 sends 8 bytes >> status iu-s when it does not have any sense data, but uses new style >> sense iu-s regardless, as can be seen for scsi cmnds where there is sense >> data. > > This looks like a bad idea over all. Removing this actually makes the ASM1051 bridge, which is the only one ever sending 8 byte sense iu-s work better, as when it actually has sense data it sends > 16 byte sense iu-s with the sense data length at the location defined in the new 16 byte sense iu struct, and with the old code we then ignore the length field (as we use the wrong field) and instead use urb->actual_length - 8 bytes of the data as sense data, while in reality there only is urb->actual_length - 16. So either we drop support for the old style sense iu, at which point sense iu-s just works with the ASM1051, or we need to add some extra magic. > The version is in the spec. Not sure what you're trying to say here, the old sense-iu was only ever present in draft versions. The official uas-r04.pdf and the uas2r00.pdf draft both only define the new style 16 byte sense iu. > And you might see true USB<->SCSI bridges passing through the > sense data. Right, and we support that, this just drops support for the old style 8 byte sense-iu which was only present in the r00 draft of the spec. Regards, Hans -- 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