On Tue, 10 Apr 2007, David Brownell wrote:

> On Monday 09 April 2007 7:50 am, Alan Stern wrote:
> 
> >  void usb_kick_khubd(struct usb_device *hdev)
> >  {
> > +   /* FIXME: What if hdev isn't bound to the hub driver? */
> 
> We should just disallow that.  There's no reason for us to risk
> the integrity of USB framework by letting any other driver manage
> all the essential transitions that the hub driver handles...

I agree that no other driver should manage the essential features that the 
hub driver handles.  However, at the moment we can't easily prevent the 
hub driver from being unbound (leaving _no_ driver in control of the root 
hub).

Fortunately the problem mentioned in the comment should be fixable without
too much trouble.  That routine gets called from only one place:
usb_hc_died().  Instead we can arrange to have the hub status URB complete
with a special error status to indicate a dead root hub.  That would
notify khubd to do the necessary cleanup and would remove the need for
usb_kick_khubd() entirely.

Mainly I added that comment just as a reminder to myself to come back
later and do the real fix.

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to