Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 May 2006 12:11:52 +0200
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-arch@freebsd.org
Cc:        mistry.7@osu.edu, Arch@freebsd.org, rwatson@freebsd.org, freebsd-usb@freebsd.org, des@des.no
Subject:   Re: Resend with subject: No more non-MPSAFE network device drivers, please!
Message-ID:  <200605231211.55151.hselasky@c2i.net>
In-Reply-To: <20060522.164641.74674575.imp@bsdimp.com>
References:  <86y7wum9ow.fsf@xps.des.no> <200605221518.03687.mistry.7@osu.edu> <20060522.164641.74674575.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 23 May 2006 00:46, Warner Losh wrote:
> > I'd be willing to help convert drivers if we can get the code into the
> > tree (maybe as usb-ng?).  Setting up a bounty for this stuff may be
> > worthwhile since having a solid USB stack would be a boon for
> > everyone.
> > I'm not sure if it's possible with the HPS driver, but it would be
> > nice if every USB device could expose ugen endpoints along with their
> > device specific nodes.

This is not impossible with my USB stack, but one will have to make ugen a 
special USB device driver then, hence every time the configuration value is 
changed, the device nodes , /dev/ugenX.Y, must be re-created. Two drivers can 
set the configuration value, ugen and the device specific driver. Maybe one 
has got to put some restrictions here, like disabling ugen from changing the 
configuration value if a USB device driver is attached. Else changing the 
configuration value can lead to a detach of attached device drivers. That is 
the problem from what I can see.

>
> Since I've been reviewing the HPS usb stack for a while now, I'd be
> happy to act as coordinator for efforts in this area.
>

One question is wether we should have the emulation layer for the old USB 
system or not. I mean it is not very solid, hence it can suddenly sleep due 
to memory allocations, when it is not allowed to sleep. And then the system 
will issue a panic(). Everything that is there to support the old USB API has 
been enclosed with:

#ifdef USB_COMPAT_OLD
#endif

You might consider it for removal.

I have volunteered to do some work on the USB stack and drivers as a part of 
summer of code, but it is not sure yet wether my project will be accepted or 
not.

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605231211.55151.hselasky>