diff options
Diffstat (limited to 'cpu/arm920t/usb_ohci.c')
-rw-r--r-- | cpu/arm920t/usb_ohci.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpu/arm920t/usb_ohci.c b/cpu/arm920t/usb_ohci.c index 41ba233..55af034 100644 --- a/cpu/arm920t/usb_ohci.c +++ b/cpu/arm920t/usb_ohci.c @@ -1197,8 +1197,15 @@ int submit_common_msg(struct usb_device *dev, unsigned long pipe, void *buffer, wait_ms(10); /* ohci_dump_status(&gohci); */ + + /* allow more time for a BULK device to react - some are slow */ +#define BULK_TO 2000 /* timeout in milliseconds */ + if (usb_pipetype (pipe) == PIPE_BULK) + timeout = BULK_TO; + else + timeout = 100; + /* wait for it to complete */ - timeout = 100; for (;;) { /* check whether the controller is done */ stat = hc_interrupt(); |