Even though you've already updated the driver, you might like to get some answers to your questions.
On Tue, 18 Jan 2005, Thomas Winischhofer wrote: > Is -ECONNRESET only set if the URB is (forcefully) unlinked (by me)? The status will be set to -ECONNRESET whenever the URB is terminated by someone (it doesn't have to be you) calling usb_unlink_urb, provided the URB_ASYNC_UNLINK flag is set. (That last requirement, along with the URB_ASYNC_UNLINK flag itself, will be phased out of the kernel before long.) Other methods of termination will result in a different status value. > Will the completion handler be called under ALL circumstances? In this > case I could avoid the (own) timeout loop and just wait (forever) for > the completion handler to clear the BUSY bit. Would that be correct? The completion handler will be called when the URB completes, no matter what, guaranteed. Yes, you can just wait for the handler to clear the BUSY bit. Do remember that the handler won't run until the URB completes, which might not be for a very long time... If you don't implement a timeout, the typical sorts of things that might cause an otherwise hung-up URB to complete are: your driver is unloaded, the device is unplugged, the host controller driver is unloaded. (Shutting down the system does not in itself cause URBs to complete.) Alan Stern ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel