Oopsing is undesirable, true, but is one of the consequences of not implementing disconnect() right. And it has the advantage of not facilitating the subtle falure modes coming from components having different notions of device (or interface) state.
The the host controller driver should be fixed. This is because some drivers don't even know about all of the urbs they have submitted (visor driver being one of them), so they can't know to cancel them :)
But there would still be "visor" issues then for any of the cases where an active driver needs to be pulled off a device that's still present.
My preferred fix for that class of problems (and a few others) isn't in the HCDs, or even in the device drivers... I actually have it written, and have started to test it. Basically, the paths the need to know the driver has quiesced should be able to accelerate that directly, no help from device driver or HCD.
- Dave
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
