summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorConley Owens <cco3@android.com>2011-04-27 11:32:42 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-04-27 11:32:42 -0700
commitc4eaebbe7a0c125663f74e3961b62de8d3611a51 (patch)
treec702a81b3e7eedf8a631743248901927c19cbc78
parent03752be0a437d12e19ac73ebe23385fe6f756e2c (diff)
parentab6e55f72b975b4fc61c436d4540ba7416166262 (diff)
downloadsystem_core-c4eaebbe7a0c125663f74e3961b62de8d3611a51.zip
system_core-c4eaebbe7a0c125663f74e3961b62de8d3611a51.tar.gz
system_core-c4eaebbe7a0c125663f74e3961b62de8d3611a51.tar.bz2
am ab6e55f7: Merge "Enlarge USB bulk transfer size for faster downloads"
* commit 'ab6e55f72b975b4fc61c436d4540ba7416166262': Enlarge USB bulk transfer size for faster downloads
-rw-r--r--fastboot/usb_linux.c9
-rw-r--r--fastboot/usb_windows.c5
2 files changed, 10 insertions, 4 deletions
diff --git a/fastboot/usb_linux.c b/fastboot/usb_linux.c
index 78b7b98..1ba87e6 100644
--- a/fastboot/usb_linux.c
+++ b/fastboot/usb_linux.c
@@ -61,6 +61,11 @@
#define DBG1(x...)
#endif
+/* The max bulk size for linux is 16384 which is defined
+ * in drivers/usb/core/devio.c.
+ */
+#define MAX_USBFS_BULK_SIZE (16 * 1024)
+
struct usb_handle
{
char fname[64];
@@ -289,7 +294,7 @@ int usb_write(usb_handle *h, const void *_data, int len)
while(len > 0) {
int xfer;
- xfer = (len > 4096) ? 4096 : len;
+ xfer = (len > MAX_USBFS_BULK_SIZE) ? MAX_USBFS_BULK_SIZE : len;
bulk.ep = h->ep_out;
bulk.len = xfer;
@@ -323,7 +328,7 @@ int usb_read(usb_handle *h, void *_data, int len)
}
while(len > 0) {
- int xfer = (len > 4096) ? 4096 : len;
+ int xfer = (len > MAX_USBFS_BULK_SIZE) ? MAX_USBFS_BULK_SIZE : len;
bulk.ep = h->ep_in;
bulk.len = xfer;
diff --git a/fastboot/usb_windows.c b/fastboot/usb_windows.c
index 54008a4..1050293 100644
--- a/fastboot/usb_windows.c
+++ b/fastboot/usb_windows.c
@@ -42,6 +42,7 @@
#define DBG(x...)
#endif
+#define MAX_USBFS_BULK_SIZE (1024 * 1024)
/** Structure usb_handle describes our connection to the usb device via
AdbWinApi.dll. This structure is returned from usb_open() routine and
@@ -160,7 +161,7 @@ int usb_write(usb_handle* handle, const void* data, int len) {
if (NULL != handle) {
// Perform write
while(len > 0) {
- int xfer = (len > 4096) ? 4096 : len;
+ int xfer = (len > MAX_USBFS_BULK_SIZE) ? MAX_USBFS_BULK_SIZE : len;
ret = AdbWriteEndpointSync(handle->adb_write_pipe,
(void*)data,
(unsigned long)xfer,
@@ -200,7 +201,7 @@ int usb_read(usb_handle *handle, void* data, int len) {
DBG("usb_read %d\n", len);
if (NULL != handle) {
while (1) {
- int xfer = (len > 4096) ? 4096 : len;
+ int xfer = (len > MAX_USBFS_BULK_SIZE) ? MAX_USBFS_BULK_SIZE : len;
ret = AdbReadEndpointSync(handle->adb_read_pipe,
(void*)data,