Hello Tilman,

On Thursday 07 July 2005 02:44, Tilman Schmidt wrote:
> What's the proper way to handle the case of a control write
> URB completing with status == -EPIPE?

-EPIPE on control endpoint is a "protocoll stall". The USB device
has not understand what you are saying.

There are two common causes for this event to happen.
a) error in transmission. If you are absolutely sure that the command is 
OK, you should do a retry.
b) You have send a command which is not understood by the device.
    Retry doesn't make sense. Perhaps sending some other command 
instead?

In order to distinguish between these two causes, it might be wise to do
a retry (to opt out a) ), and if the -EPIPE remains, do something else.

Unstalling the control endpoint is not possible. The protocoll stall is 
removed by the device on the reception of the next control message.

best regards
Wolfgang


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to