[SeaBIOS] EHCI boot problems
dave.frodin at se-eng.com
Tue Sep 9 21:15:04 CEST 2014
I'm seeing a problem booting from USB thumbdrives with commit ab9d771ce
ehci: Update usb command timeouts to use usb_xfer_time()
I'm not quite sure what the problem is other than it not liking the new
I couldn't see any problems with the ehci_control() calls to ehci_wait_td().
But the ehci_send_bulk() only allows the system to boot if I change
int ret = ehci_wait_td(pipe, td, end);
int ret = ehci_wait_td(pipe, td, timer_calc(5000));
One potential problem is that the "end" value is calculated once and reused
multiple times in the functions. Prior to the commit the timeout value was
to the ehci_wait_td() function. Now the final "end" time is passed. So it
once the end timeout is reached in one of the loops that calls
timer will always be expired for any other calls from that function.
One solution might be to get rid of the "end" variable and change the calls
ret = ehci_wait_td(pipe, td, end);
ret = ehci_wait_td(pipe, td, timer_calc(usb_xfer_time(p, datasize)));
Making the above change didn't have any impact on my booting problem until
I forced the ehci_send_bulk() timeouts to 5000.
Thanks in advance for any advice anyone can offer,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SeaBIOS