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 <felipe.balbi@xxxxxxxxxxxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html