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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel