Date: Tue, 17 Feb 2009 09:34:58 -0800 From: Marcel Moolenaar <xcllnt@mac.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: USB2+umass: root mount fails Message-ID: <55BE8F46-B338-4609-B0DC-F1C90350029D@mac.com> In-Reply-To: <200902170856.11631.hselasky@c2i.net> References: <741FAA3B-B91A-4A23-B47F-21141A8D0B5D@mac.com> <20090216.190312.1756925299.imp@bsdimp.com> <7F91349C-7E58-47C8-BB69-3B2F391B4E73@mac.com> <200902170856.11631.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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 xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55BE8F46-B338-4609-B0DC-F1C90350029D>