On Thu, 7 Apr 2016, Felipe Balbi wrote:

> Just so we have some sort of documentation as to why
> we limit our Mass Storage transfers to 240 sectors,
> let's update the comment to make clearer that
> devices were found that would choke with larger
> transfers.
> 
> While at that, also make sure to clarify that other
> operating systems have similar, albeit different,
> limits on mass storage transfers.
> 
> Signed-off-by: Felipe Balbi <[email protected]>
> ---
>  drivers/usb/storage/scsiglue.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
> index dba51362d2e2..2a8c203a67dc 100644
> --- a/drivers/usb/storage/scsiglue.c
> +++ b/drivers/usb/storage/scsiglue.c
> @@ -565,7 +565,24 @@ static const struct scsi_host_template 
> usb_stor_host_template = {
>       /* lots of sg segments can be handled */
>       .sg_tablesize =                 SCSI_MAX_SG_CHAIN_SEGMENTS,
>  
> -     /* limit the total size of a transfer to 120 KB */
> +
> +     /*
> +      * Limit the total size of a transfer to 120 KB.
> +      *
> +      * Some devices are known to choke with anything larger. It seems like
> +      * the problem stems from the fact that original IDE controllers had
> +      * only an 8-bit register to hold the number of sectors in one transfer
> +      * and even those couldn't handle a full 256 sectors.
> +      *
> +      * Because we want to make sure we interoperate with as many devices as
> +      * possible, we will maintain a 240 sector transfer size limit for USB
> +      * Mass Storage devices.
> +      *
> +      * Tests show that other operating have similar limits with Microsoft
> +      * Windows™ 7 limitting transfers to 128 sectors for both USB2 and USB3
> +      * and Apple Mac OS X™ 10.11 limitting transfers to 256 sectors for USB2
> +      * and 2048 for USB3 devices.
> +      */

Minor nit: "limiting" is misspelled twice.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to