diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-18 10:58:02 -0700 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-19 17:46:06 -0700 | 
| commit | 3fc3e8269fa5c1f35b518dbe18dc48acef3c7684 (patch) | |
| tree | 2883b8ee8ef15352f80639bde5ab80bdd93d2c80 /drivers/usb/core/message.c | |
| parent | b44cd112a0400d5eb381f3c1a1e7a6925911c835 (diff) | |
USB: core: message: clean up urb->status usage
This done in anticipation of removal of urb->status, which will make
that patch easier to review and apply in the future.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core/message.c')
| -rw-r--r-- | drivers/usb/core/message.c | 34 | 
1 files changed, 18 insertions, 16 deletions
| diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index 530e854961c..25f63f1096b 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -34,13 +34,14 @@ static int usb_start_wait_urb(struct urb *urb, int timeout, int *actual_length)  {   	struct completion done;  	unsigned long expire; -	int status; +	int retval; +	int status = urb->status;  	init_completion(&done); 	  	urb->context = &done;  	urb->actual_length = 0; -	status = usb_submit_urb(urb, GFP_NOIO); -	if (unlikely(status)) +	retval = usb_submit_urb(urb, GFP_NOIO); +	if (unlikely(retval))  		goto out;  	expire = timeout ? msecs_to_jiffies(timeout) : MAX_SCHEDULE_TIMEOUT; @@ -55,15 +56,15 @@ static int usb_start_wait_urb(struct urb *urb, int timeout, int *actual_length)  			urb->transfer_buffer_length);  		usb_kill_urb(urb); -		status = urb->status == -ENOENT ? -ETIMEDOUT : urb->status; +		retval = status == -ENOENT ? -ETIMEDOUT : status;  	} else -		status = urb->status; +		retval = status;  out:  	if (actual_length)  		*actual_length = urb->actual_length;  	usb_free_urb(urb); -	return status; +	return retval;  }  /*-------------------------------------------------------------------*/ @@ -250,6 +251,7 @@ static void sg_clean (struct usb_sg_request *io)  static void sg_complete (struct urb *urb)  {  	struct usb_sg_request	*io = urb->context; +	int status = urb->status;  	spin_lock (&io->lock); @@ -265,21 +267,21 @@ static void sg_complete (struct urb *urb)  	 */  	if (io->status  			&& (io->status != -ECONNRESET -				|| urb->status != -ECONNRESET) +				|| status != -ECONNRESET)  			&& urb->actual_length) {  		dev_err (io->dev->bus->controller,  			"dev %s ep%d%s scatterlist error %d/%d\n",  			io->dev->devpath,  			usb_pipeendpoint (urb->pipe),  			usb_pipein (urb->pipe) ? "in" : "out", -			urb->status, io->status); +			status, io->status);  		// BUG ();  	} -	if (io->status == 0 && urb->status && urb->status != -ECONNRESET) { -		int		i, found, status; +	if (io->status == 0 && status && status != -ECONNRESET) { +		int i, found, retval; -		io->status = urb->status; +		io->status = status;  		/* the previous urbs, and this one, completed already.  		 * unlink pending urbs so they won't rx/tx bad data. @@ -290,13 +292,13 @@ static void sg_complete (struct urb *urb)  			if (!io->urbs [i] || !io->urbs [i]->dev)  				continue;  			if (found) { -				status = usb_unlink_urb (io->urbs [i]); -				if (status != -EINPROGRESS -						&& status != -ENODEV -						&& status != -EBUSY) +				retval = usb_unlink_urb (io->urbs [i]); +				if (retval != -EINPROGRESS && +				    retval != -ENODEV && +				    retval != -EBUSY)  					dev_err (&io->dev->dev,  						"%s, unlink --> %d\n", -						__FUNCTION__, status); +						__FUNCTION__, retval);  			} else if (urb == io->urbs [i])  				found = 1;  		} | 
