>     should device drivers call usb_get_dev() like some
> currently do (storage, some network, and the usbvideo core)?  Does this
> protect something from happening that I don't see? 

I think earlier on, when the whole stack was less well developed,
device drivers doing that refcounting were getting extra protection
against various core/hcd bugs that often showed up in disconnect
paths ... which bugs are now gone. 


>     And if all drivers
> should call it, shouldn't a successful return from probe() back to the
> usb core do the call for the driver?

At some level, it turns out not to matter whether claiming an interface
automatically adds a refcount or not ... since the important issue is really
that the device driver handle disconnect() correctly (by never using the
device handle again).  If it does that, is guaranteed that everything will
clean up correctly.  If it doesn't, refcounting can't solve the problem.


On the other hand, arguably an even better solution to this flamage
would be to hide refcounting from device drivers entirely.  There
are quite a few Linux driver frameworks that don't expose it.  And
since the device drivers and khubd agree on when the devices are
really going away (and need to!), it's easy to argue that such device
refcounting doesn't need to be in the device driver API at all.

- Dave



_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to