I'm porting the musb driver code from Linux, using the 14.02 release of
Genode. Basically, I'm using the main.cc code in dde-linux/src/lib/usb
to start the usb subsystem and usb port drivers. The main.cc code is
essentially unchanged and the start_usb_driver function is identical to
the release code.
When running the executible containing this code a page fault occurs
when _run is called in Routine::main(). The reason appears to be the
schedule() function returns a pointer to 0x0 it got from _next which was
returned from _list. The pointer in in _list appears to have been
removed at the start main(). It looks to me like the code in main.cc in
src/lib/usb would fail for any usb driver code. What am I missing?
Thanks,
Bob Stewart