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