On Feb 16, 2009, at 11:56 PM, Hans Petter Selasky wrote:

On Tuesday 17 February 2009, Marcel Moolenaar wrote:
On Feb 16, 2009, at 6:03 PM, M. Warner Losh wrote:
: root_mount_hold() and root_mount_rel() are specifically
: designed to inform the mountroot code that it needs to
: wait (or that it should go ahead and mount root).

But it looks like the old usb code didn't call it either...  I think
old code enumerated right away during boot, while the new code defers
the enumeration until events can be processed...

Yes, you're right. USB1 used the following:

SYSINIT(usb_cold_explore, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE,
    usb_cold_explore, NULL);

SI_SUB_CONFIGURE didn't complete before all USB busses
were enumerated.

I would really prefer that first time USB enumeration is not synchronous.

You misunderstand. I wasn't suggesting you changed USB2
to do the same thing as USB1. I was merely pointing out
how USB1 did it and why root mounts worked.

I think the USB2 approacj is better and as you say, we
just need to hold the root mount until we're done.

--
Marcel Moolenaar
xcl...@mac.com



_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to