diff options
| -rw-r--r-- | drivers/usb/misc/usbtest.c | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 5e3464e8d4e5..5c8210dc6fd9 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -585,7 +585,6 @@ static void sg_timeout(unsigned long _req)  {  	struct usb_sg_request	*req = (struct usb_sg_request *) _req; -	req->status = -ETIMEDOUT;  	usb_sg_cancel(req);  } @@ -616,8 +615,10 @@ static int perform_sglist(  		mod_timer(&sg_timer, jiffies +  				msecs_to_jiffies(SIMPLE_IO_TIMEOUT));  		usb_sg_wait(req); -		del_timer_sync(&sg_timer); -		retval = req->status; +		if (!del_timer_sync(&sg_timer)) +			retval = -ETIMEDOUT; +		else +			retval = req->status;  		/* FIXME check resulting data pattern */ | 
