diff options
Diffstat (limited to 'drivers/usb/class/cdc-wdm.c')
| -rw-r--r-- | drivers/usb/class/cdc-wdm.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index 5aacea1978a5..3e865dbf878c 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c @@ -190,8 +190,10 @@ static void wdm_in_callback(struct urb *urb)  	/*  	 * only set a new error if there is no previous error.  	 * Errors are only cleared during read/open +	 * Avoid propagating -EPIPE (stall) to userspace since it is +	 * better handled as an empty read  	 */ -	if (desc->rerr  == 0) +	if (desc->rerr == 0 && status != -EPIPE)  		desc->rerr = status;  	if (length + desc->length > desc->wMaxCommand) { |