Resend with subject: No more non-MPSAFE network device drivers, please!

Daan Vreeken [PA4DAN] Danovitsch at
Mon May 22 18:37:37 UTC 2006

On Monday 22 May 2006 16:10, Dag-Erling Smørgrav wrote:
> Robert Watson <rwatson at> writes:
> > Per discussion at the developer summit, a significant rewrite of the
> > USB code is needed to make it MPSAFE.  Volunteers welcome.
> HP Selasky claims to have a working Giant-free USB stack:
(added him to the 'cc' list)

> No idea how well it works, though.

I have been running his USB driver on a production server for months here 
without a single problem. I use his ugen implementation to communicate with a 
custom made USB device. On FreeBSD's USB driver a stress test would fail 
after max 40,000 requests. With his USB driver I have successfully made over 
30,000,000 requests before stopping the test manually.

There is a problem with his code though. (At least, there was back when I last 
looked at it, correct me if I'm wrong.) He has completely rewritten the OHCI, 
UHCI and EHCI parts, but kept the original (network, storage, etc) drivers. 
For the original drivers to work he has added some wrapper functions. Back 
when I looked these wrappers didn't work out of the box for the devices I 
have tried.
All "old" drivers need to be converter to "new world order" for them to work 

That's the only problem I have been having with his driver : You get a better 
USB stack, but with less working drivers.
I think it would be great to get his code into -current, but some developers 
would have to help out to convert the existing drivers.


More information about the freebsd-usb mailing list