USB2 patches

Hans Petter Selasky hselasky at c2i.net
Sun Feb 1 10:35:09 PST 2009


Hi Warner,

On Sunday 01 February 2009, M. Warner Losh wrote:
> In message: <20090201175021.GA32503 at citylink.fud.org.nz>
>
>             Andrew Thompson <thompsa at freebsd.org> writes:

> The only way that a 'deferred attach' makes sense is 

> if the ifnet and other external resources are setup as part of 
> that deferred attach. That way, you don't have the NULL pointer issue.

That was what the initial code did.

>
> However, doing that introduces races with devd, which are a pita to
> cope with...  Even without deferring the setting up if ifnet, you have
> races with devd if you defer things in attach that can be hard to cope
> with in the code.

No, not if the ifnet attach is deferred too.

My conclusion is: Do not make match rules for "rumX/uralX/zydX", instead match 
for the IFNET event in devd.conf.

	devctl_notify("IFNET", ifp->if_xname, "ATTACH", NULL);

--HPS


More information about the freebsd-usb mailing list