RFC: Fixing USB ethernet for FreeBSD 7.0.

Alfred Perlstein alfred at freebsd.org
Fri Dec 1 11:43:24 PST 2006


* M. Warner Losh <imp at bsdimp.com> [061201 11:30] wrote:
> Have you looked at the usb work that Hans Petter Selasky
> at http://www.turbocat.net/~hselasky/usb4bsd yet?

I just did, while it solves a lock order problem, this doesn't
appear to solve the programmitic issues, namely multiple usb IOs
requiring callbacks and how to issue a series of complex usb 
IOs from interrupt context.

Basically, I need to be able to do USB IO as if I was doing normal
BUS IO, usb does not offer this in interrupt context except as a
series of callbacks that appear to be programmatically impossible
to implement.

Have a look at if_aue.c, then look at any of the error cases that
might be called from interrupt context, they wind up doing sync IO
to the device which is illegal (sleeping while holding a driver
lock).

Hans Petter Selasky's work is nice, however it doesn't solve
these issues, the lock would still have to be held.

Do you understand that I'm trying to give usb ethernet the
same ease of programming that other devices on a "fast bus"
have?

-- 
- Alfred Perlstein, RED Incorporated Consulting.
- coder / sysadmin / FreeBSD Hacker / All that jazz -


More information about the freebsd-smp mailing list