aboutsummaryrefslogtreecommitdiffstats
path: root/fastboot
diff options
context:
space:
mode:
authorConley Owens <cco3@android.com>2011-04-27 11:38:29 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-04-27 11:38:29 -0700
commit66acffad765add93c8fc74592725eec901867393 (patch)
tree1c3158c06fcb4a63f1f500dac5924df29305a5aa /fastboot
parentde35f2741c4e32e331a92be99f7c04b92b94beb2 (diff)
parentc4eaebbe7a0c125663f74e3961b62de8d3611a51 (diff)
downloadsystem_core-66acffad765add93c8fc74592725eec901867393.tar.gz
system_core-66acffad765add93c8fc74592725eec901867393.tar.bz2
system_core-66acffad765add93c8fc74592725eec901867393.zip
am c4eaebbe: am ab6e55f7: Merge "Enlarge USB bulk transfer size for faster downloads"
* commit 'c4eaebbe7a0c125663f74e3961b62de8d3611a51': Enlarge USB bulk transfer size for faster downloads
Diffstat (limited to 'fastboot')
-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 78b7b980..1ba87e62 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 54008a42..1050293d 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,