2f640bf4c9
The 8020i protocol (also 8070i and QIC-157) uses 12-byte commands; shorter commands must be padded. Simon Detheridge reports that his 3-TB USB disk drive claims to use the 8020i protocol (which is normally meant for ATAPI devices like CD drives), and because of its large size, the disk drive requires the use of 16-byte commands. However the usb_stor_pad12_command() routine in usb-storage always sets the command length to 12, making the drive impossible to use. Since the SFF-8020i specification allows for 16-byte commands in future extensions, we may as well accept them. This patch (as1490) changes usb_stor_pad12_command() to leave commands larger than 12 bytes alone rather than truncating them. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Tested-by: Simon Detheridge <simon@widgit.com> CC: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
||
---|---|---|
.. | ||
alauda.c | ||
cypress_atacb.c | ||
datafab.c | ||
debug.c | ||
debug.h | ||
ene_ub6250.c | ||
freecom.c | ||
initializers.c | ||
initializers.h | ||
isd200.c | ||
jumpshot.c | ||
karma.c | ||
Kconfig | ||
libusual.c | ||
Makefile | ||
onetouch.c | ||
option_ms.c | ||
option_ms.h | ||
protocol.c | ||
protocol.h | ||
realtek_cr.c | ||
scsiglue.c | ||
scsiglue.h | ||
sddr09.c | ||
sddr55.c | ||
shuttle_usbat.c | ||
sierra_ms.c | ||
sierra_ms.h | ||
transport.c | ||
transport.h | ||
uas.c | ||
unusual_alauda.h | ||
unusual_cypress.h | ||
unusual_datafab.h | ||
unusual_devs.h | ||
unusual_ene_ub6250.h | ||
unusual_freecom.h | ||
unusual_isd200.h | ||
unusual_jumpshot.h | ||
unusual_karma.h | ||
unusual_onetouch.h | ||
unusual_realtek.h | ||
unusual_sddr09.h | ||
unusual_sddr55.h | ||
unusual_usbat.h | ||
usb.c | ||
usb.h | ||
usual-tables.c |