Signed-off-by: Kevin O'Connor <[email protected]>
---
src/hw/usb-ohci.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/hw/usb-ohci.c b/src/hw/usb-ohci.c
index d55b64a..f566c4b 100644
--- a/src/hw/usb-ohci.c
+++ b/src/hw/usb-ohci.c
@@ -434,10 +434,9 @@ ohci_alloc_pipe(struct usbdevice_s *usbdev
}
static int
-wait_ed(struct ohci_ed *ed)
+wait_ed(struct ohci_ed *ed, int timeout)
{
- // XXX - 500ms just a guess
- u32 end = timer_calc(500);
+ u32 end = timer_calc(timeout);
for (;;) {
if (ed->hwHeadP == ed->hwTailP)
return 0;
@@ -497,7 +496,7 @@ ohci_control(struct usb_pipe *p, int dir, const void *cmd,
int cmdsize
pipe->ed.hwINFO &= ~ED_SKIP;
writel(&cntl->regs->cmdstatus, OHCI_CLF);
- int ret = wait_ed(&pipe->ed);
+ int ret = wait_ed(&pipe->ed, usb_xfer_time(p, datasize));
pipe->ed.hwINFO |= ED_SKIP;
if (ret)
ohci_waittick(cntl);
--
1.9.3
_______________________________________________
SeaBIOS mailing list
[email protected]
http://www.seabios.org/mailman/listinfo/seabios