Subject: Re: Advice about network driver needed
To: Todd Whitesel <toddpw@best.com>
From: Lennart Augustsson <lennart@augustsson.net>
List: tech-kern
Date: 12/26/1999 15:44:33
Todd Whitesel wrote:

> >One thread might be hanging in a USB bus transaction when the watchdog
> >call comes.
> >Then there is no thread vailable to reset the adapter.  This could probably
> >be worked
> >around, though.
>
> Hmm, I'd say this is important enough to merit two threads,
> if that's what it takes to do it right.
>
> > A problem is that servicing on of these calls can take a long time
> >(several ms since
> > it needs several bus transactions), and during that time the thread
> >will no be able to
> > respond to other service requests.
>
> Having to use an RPC for every register access is pretty gross, and one
> hopes that the official USB ethernet interface definition will do
> something better!

It's not quite as badas it sounds.  The normal execution path involes just one
bus transaction per send/receieve.  It's just when things go wrong that you
need to access the registers, and then you really don't have an option, but to
use "RPC", since this is how USB works.  USB was never intended for things
like Ethernet adapters.


> However this type of driver problem is likely to happen with more devices
> in the future, so it would be good to have working code in the tree that
> can be used for future reference.

Indeed, which is why I want to spend some thought on this.  And maybe try out
different designs.

--

        -- Lennart