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

Reply via email to