[SeaBIOS] USB1 devices and CONFIG_THREADS

Kevin O'Connor kevin at koconnor.net
Thu Dec 5 16:47:21 CET 2013


On Thu, Dec 05, 2013 at 02:03:23PM +0000, David Woodhouse wrote:
> Just debugged the following:
> 
> ehci_setup() happens. Starts a thread to probe its ports...
> ohci_setup() happens. Starts a thread to probe its ports...
> OHCI probes port zero, decides there's nothing there.
> EHCI probes port zero, decides there's a USB1 device there and gives it
>     away to OHCI... which is never going to see it.

What is supposed to happen, is that usb_setup() sees that there is an
ehci device and only runs ehci_setup() on the whole device.
ohci_setup is not supposed to run from usb_setup() for that device at
all.  Then, if the ehci code finds a legacy device, it runs
ohci_setup() from ehci_note_port() after it has configured all the
legacy devices into legacy mode.

This certainly used to work, I'll take a look.

-Kevin



More information about the SeaBIOS mailing list