On Mon, 13 Sep 2004, David Brownell wrote:

> The caller of hc_died() -- an HCD -- should reset the root hub
> as part of recovery, which should leave traces that khubd
> can find and clean up after.

> Maybe this should just be a root hub API, not an HCD API.

> Could be.  Though maybe khubd should know a bit more
> about how special root hubs are ... rather than ignore, it
> could just set change_bits and restore STATE_CONFIGURED.

Do you have a clear idea of exactly what is supposed to get accomplished,
and how much is supposed to happen in_interrupt in the HCD as opposed to
later on in khubd?  I don't.  Getting the design straight would be my
first step.

Once that's done, it may well turn out that a special API either for HCDs 
or for root hubs is appropriate.  (There doesn't seem to be much point in 
making a strong distinction between HCs and root hubs.)

Or maybe an already-existing routine could be pressed into service.  I've
got a patch for resetting hubs that I'll send in soon -- it punts when
asked to reset a root hub, but clearly that's something we need to handle
somehow.  And resetting root hubs is clearly related to this problem.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to