> For (b) there are several options. Today we expect (b1) device > driver handles all in disconnect(), except that to guard against > bugs there sometimes (b2) HCD may need to get involved. I'd > think a cleaner solution would be (b3) usbcore kills them all; > less work for device drivers too.
>From an abstract standpoint I fully agree. From a standpoint of wishing for 2.6.0 to be released this year with a solid USB stack, I disagree. It needs usbcore to keep track of URBs. It currently doesn't. At a minimum usbcore would need to keep URBs in per interface lists and use locking against device _and_ interface in several places. And that's just a first thought. It's less simple to do than desirable to be done. [..] > - usb_unlink_urb() ignores dev->present. Exactly. > - usb_disconnect() sets dev->present first thing. This needs locking, else it's a race on SMP. Duncan made patches that implement this. Regards Oliver ------------------------------------------------------- This SF.net email is sponsored by: SlickEdit Inc. Develop an edge. The most comprehensive and flexible code editor you can use. Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial. www.slickedit.com/sourceforge _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel