From: Tormod Volden <debian.tor...@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 _______________________________________________ devel mailing list devel@lists.openmoko.org https://lists.openmoko.org/mailman/listinfo/devel