mirror of https://github.com/torvalds/linux.git
When the usb-storage module forces sdev->scsi_level to SCSI_2, it should also force starget->scsi_level to the same value. Otherwise, the SCSI layer may attempt to issue SCSI-3 commands to the device, such as REPORT LUNS, which it cannot handle. This can prevent the device from working with Linux. The AMS Venus DS3 DS2316SU2S SATA-to-SATA+USB enclosure, based on the Oxford Semiconductor OXU921S chip, requires this patch to function correctly on Linux. The enclosure reports a SCSI-3 SPC-2 command set level, but does not correctly handle the REPORT LUNS SCSI command - probably due to a bug in its firmware. It seems likely that other USB storage enclosures with similar bugs will also benefit from this patch. Tony Lindgren <tony@atomide.com> collaborated in the development of this patch. Signed-off-by: Paul Walmsley <paul@booyaka.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| datafab.c | ||
| datafab.h | ||
| debug.c | ||
| debug.h | ||
| dpcm.c | ||
| dpcm.h | ||
| freecom.c | ||
| freecom.h | ||
| initializers.c | ||
| initializers.h | ||
| isd200.c | ||
| isd200.h | ||
| jumpshot.c | ||
| jumpshot.h | ||
| onetouch.c | ||
| onetouch.h | ||
| protocol.c | ||
| protocol.h | ||
| scsiglue.c | ||
| scsiglue.h | ||
| sddr09.c | ||
| sddr09.h | ||
| sddr55.c | ||
| sddr55.h | ||
| shuttle_usbat.c | ||
| shuttle_usbat.h | ||
| transport.c | ||
| transport.h | ||
| unusual_devs.h | ||
| usb.c | ||
| usb.h | ||