> The philosophy is often called "programming by contract". > > And the contract is: usbcore agrees to work with your driver > and do everything right, if your driver agrees to do a few > specific things. One of those specific things is never using > the device after you return from disconnect(), either directly > (as you're doing here) or indirectly (urb still pending, say). > > If you break such programming contracts, bad things happen; > that's part of why the contract exists. There are lots of > components interacting, relying on contracts to be followed, > and if they aren't ... it's impractical to guarantee that > all the failure modes will always be benign.
Pity this contract is undocumented. Duncan. ------------------------------------------------------- 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