Am Montag, 21. Juli 2003 20:02 schrieb Alan Stern:
> David:
>
> My last patch for usbcore concerns usb_device_remove() in usb.c. The most
> annoying things about it is its name. The routine doesn't remove USB
> devices; it disconnects drivers from interfaces. So I renamed it
> usb_remove_driver(). Luckily it's not used in many places.
Quite misleading as well :-)
It doesn't remove a driver, as the driver stays loaded.
I suggest calling it usb_unlink_interface_driver()
> The real problem is that it calls nuke_urbs() for the device containing
> the interface it's given. That is clearly a mistake, since nuke_urbs()
> gets rid of all URBs for the device, not just the one interface. I wrote
> another helper function, disable_interface(), which does the same thing as
> nuke_urbs() but only for endpoints belonging to a single interface.
Would it be worthwhile to implement nuke_urbs() based on this?
What about ep 0?
[..]
> Disabling and enabling interfaces would be a lot easier and more reliable
> if struct urb contained a usb_interface field instead of (or in addition
> to) its usb_device field. But that would be an immense change, something
> for 2.7.
URBs are addressed at device/endpoint pairs. Interfaces don't exist at
that level, so I don't think that they should be dragged into it.
But I might be wrong.
Regards
Oliver
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel