summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2016-06-06 13:53:43 +0800
committerYe Li <ye.li@nxp.com>2017-04-05 14:04:37 +0800
commit0716cc14a3739e9d161f5d0c3a0bebf0272759f9 (patch)
tree2af928f0f1d718afebac24188dfe8b22e2d1cfb1 /common
parent1e71109ab3c0483b739b0c9be85643c2b8462523 (diff)
MLK-12883 usb: limit USB_MAX_XFER_BLK to 256
For Some USB mass storage devices, such as: " - Kingston DataTraveler 2.0 001D7D06CF09B04199C7B3EA - Class: (from Interface) Mass Storage - PacketSize: 64 Configurations: 1 - Vendor: 0x0930 Product 0x6545 Version 1.16 " When `usb read 0x80000000 0 0x2000`, we met "EHCI timed out on TD - token=0x80008d80". The devices does not support scsi VPD page, we are not able to get the maximum transfer length for READ(10)/WRITE(10). So we limit this to 256 blocks as READ(6). Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit df0052575b2bc9d66ae73584768e1a457ed5d914)
Diffstat (limited to 'common')
-rw-r--r--common/usb_storage.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/usb_storage.c b/common/usb_storage.c
index b524a15e2b..ec35e2b309 100644
--- a/common/usb_storage.c
+++ b/common/usb_storage.c
@@ -18,6 +18,8 @@
* BBB support based on /sys/dev/usb/umass.c from
* FreeBSD.
*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ *
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -106,7 +108,7 @@ struct us_data {
* enough free heap space left, but the SCSI READ(10) and WRITE(10) commands are
* limited to 65535 blocks.
*/
-#define USB_MAX_XFER_BLK 65535
+#define USB_MAX_XFER_BLK 256
#else
#define USB_MAX_XFER_BLK 20
#endif