Exactly. Here's the relevant bit of code in drivers/usb/storage/scsiglue.c:
/* Some devices report a SCSI revision level above 2 but are
* unable to handle the REPORT LUNS command (for which
* support is mandatory at level 3). Since we already have
* a Get-Max-LUN request, we won't lose much by setting the
* revision level down to 2. The only devices that would be
* affected are those with sparse LUNs. */
if (sdev->scsi_level > SCSI_2) sdev->sdev_target->scsi_level = sdev->scsi_level = SCSI_2;
I suspect this predates widespread use of large physical sectors, and needs to be revised.
Exactly. Here's the relevant bit of code in drivers/ usb/storage/ scsiglue. c:
/* Some devices report a SCSI revision level above 2 but are
sdev- >sdev_target- >scsi_level =
sdev- >scsi_level = SCSI_2;
* unable to handle the REPORT LUNS command (for which
* support is mandatory at level 3). Since we already have
* a Get-Max-LUN request, we won't lose much by setting the
* revision level down to 2. The only devices that would be
* affected are those with sparse LUNs. */
if (sdev->scsi_level > SCSI_2)
I suspect this predates widespread use of large physical sectors, and needs to be revised.