From: Aaro Koskinen Date: Sun, 29 Jun 2014 19:52:55 +0000 (+0300) Subject: staging: octeon-usb: return transferred bytes only on success X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=8dcf4ecea91582ec9c816d91f06475ba92a65ed7;p=deliverable%2Flinux.git staging: octeon-usb: return transferred bytes only on success Return transferred bytes only when transfer was successful. Signed-off-by: Aaro Koskinen Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/octeon-usb/octeon-hcd.c b/drivers/staging/octeon-usb/octeon-hcd.c index 59cf921f1b59..a65b708b804a 100644 --- a/drivers/staging/octeon-usb/octeon-hcd.c +++ b/drivers/staging/octeon-usb/octeon-hcd.c @@ -2162,7 +2162,11 @@ static void octeon_usb_urb_complete_callback(struct cvmx_usb_state *usb, struct usb_hcd *hcd = octeon_to_hcd(priv); struct device *dev = hcd->self.controller; - urb->actual_length = bytes_transferred; + if (likely(status == CVMX_USB_COMPLETE_SUCCESS)) + urb->actual_length = bytes_transferred; + else + urb->actual_length = 0; + urb->hcpriv = NULL; /* For Isochronous transactions we need to update the URB packet status