On Monday 13 September 2004 9:13 am, Alan Stern wrote: > [ about the hc_died() cleanup ] > > It's not at all clear to me how that will accomplish what the code used to > do, i.e., disconnecting all the root hub's children.
That old code didn't quite work right in any case ... :) 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. > When the rh_timer > expires the status URB may return a change marker for each port. Or it > may not -- the root hub code for each HCD will probably need to be changed > if that is to work. It might be better to set the appropriate change_bits > in the root hub's struct hub. True, but those bits aren't visible except to the hub driver. Maybe this should just be a root hub API, not an HCD API. > Also, when khubd runs hub_events() it will see that the root hub's state > isn't CONFIGURED -- so it will totally ignore the event. Maybe what you > should do is mark each of the root hub's children as NOTATTACHED but leave > the root hub alone? 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. - Dave ------------------------------------------------------- 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
