Oliver Neukum wrote:
retval = hcd->driver->urb_dequeue (hcd, urb);/* hcds shouldn't really fail these calls, but... */ if (retval) { ... } is deeply racy. It can change the context under a running completion handler. I'd suggest that you declare urb_dequeue void and remove it.
Maybe you should make that "dev_warn" and see how often it happens before you get too worried. Synchronous unlinks aren't as common as all that. The "but" is: "but they do, so let's cope somehow". You're welcome to try fixing the rest of the problem(s) in unlink paths; there are fewer in 2.5 than 2.4, but there's room for improvement. - Dave ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
