[SeaBIOS] USB OHCI issues when keyboard activity occurs prior to booting from thumbdrive
Kevin O'Connor
kevin at koconnor.net
Sat Mar 17 02:12:44 CET 2012
On Fri, Mar 16, 2012 at 03:37:37PM -0600, Dave Frodin wrote:
> Kevin, I mentioned in a response to the "Re: [SeaBIOS] usb-msc.c:
> TEST_UNIT_READY needs USB_DIR_OUT?" email thread that when I
> applied the patches related to that thread the Ubuntu booting issue
> that I see in this thread actually increases the passing rate from
> ~0% to ~50%.
That's odd.
> Perhaps setting the DIR bit twice will solve my problem :)
>
> I also was wondering if you could point me to the code that you
> referred to when you wrote ... "I did see what appears to be a race
> with USB "interrupt" pipe reading" ?
In ohci_control() the function exits when the pipe->ed indicates the
transfer is complete. However, the controller can write to the tds[]
structs after the pipe->ed is updated. Therefore there could be a
race between the controller and driver. Similarly, ohci_poll_intr()
has the same issue. This is just in the OHCI code - I don't know of
any issues in the UHCI/EHCI code.
I tried to fix this when I was working on the USB patch series I
recently posted. However, the stuff I tried made the OHCI controller
less stable on my e350m1 machine.
-Kevin
More information about the SeaBIOS
mailing list