diff options
-rw-r--r-- | drivers/usb/storage/scsiglue.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index af294bb68c35..d34dc9f417f0 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c | |||
@@ -156,6 +156,14 @@ static int slave_configure(struct scsi_device *sdev) | |||
156 | if (us->flags & US_FL_FIX_CAPACITY) | 156 | if (us->flags & US_FL_FIX_CAPACITY) |
157 | sdev->fix_capacity = 1; | 157 | sdev->fix_capacity = 1; |
158 | 158 | ||
159 | /* Some devices report a SCSI revision level above 2 but are | ||
160 | * unable to handle the REPORT LUNS command (for which | ||
161 | * support is mandatory at level 3). Since we already have | ||
162 | * a Get-Max-LUN request, we won't lose much by setting the | ||
163 | * revision level down to 2. The only devices that would be | ||
164 | * affected are those with sparse LUNs. */ | ||
165 | sdev->scsi_level = SCSI_2; | ||
166 | |||
159 | /* USB-IDE bridges tend to report SK = 0x04 (Non-recoverable | 167 | /* USB-IDE bridges tend to report SK = 0x04 (Non-recoverable |
160 | * Hardware Error) when any low-level error occurs, | 168 | * Hardware Error) when any low-level error occurs, |
161 | * recoverable or not. Setting this flag tells the SCSI | 169 | * recoverable or not. Setting this flag tells the SCSI |