[PATCH] Set default transfer size to 1024 bytes
Tormod Volden
lists.tormod at gmail.com
Fri Nov 5 23:03:40 CET 2010
From: Tormod Volden <debian.tormod at gmail.com>
It used to default to the host kernel page size, which seems rather
irrelevant. 1024 bytes seems like a reasonable default size, if one is
needed. At any rate, it should really be determined from the DFU
functional descriptor, so this default should not matter much.
---
Another patch for dfu-util
Hopefully my previous patch makes this default transfer size
irrelevant in almost all cases :)
Anyway, 1024 is a safer choice than 4096 which the previous
logic would provide on most (Linux) boxen.
Tormod
src/main.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/main.c b/src/main.c
index 9d0b72a..c1d6256 100644
--- a/src/main.c
+++ b/src/main.c
@@ -452,6 +452,7 @@ int main(int argc, char **argv)
int num_devs;
int num_ifs;
unsigned int transfer_size = 0;
+ unsigned int default_transfer_size = 1024;
enum mode mode = MODE_NONE;
struct dfu_status status;
struct usb_dfu_func_descriptor func_dfu;
@@ -459,7 +460,6 @@ int main(int argc, char **argv)
char *alt_name = NULL; /* query alt name if non-NULL */
char *end;
int final_reset = 0;
- int page_size = getpagesize();
int ret;
printf("dfu-util - (C) 2007-2008 by OpenMoko Inc.\n"
@@ -822,14 +822,13 @@ status_again:
if (ret < 0) {
fprintf(stderr, "Error obtaining DFU functional "
"descriptor: %s\n", usb_strerror());
- transfer_size = page_size;
+ transfer_size = default_transfer_size;
} else {
transfer_size = get_int16_le(&func_dfu.wTransferSize);
}
}
- if (transfer_size > page_size)
- transfer_size = page_size;
+ /* FIXME: Ensure bMaxPacketSize0 <= transfer_size <= wTransferSize */
printf("Transfer Size = 0x%04x\n", transfer_size);
--
1.7.0.4
More information about the devel
mailing list