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

Reply via email to