From 8dcf4ecea91582ec9c816d91f06475ba92a65ed7 Mon Sep 17 00:00:00 2001 From: Aaro Koskinen Date: Sun, 29 Jun 2014 22:52:55 +0300 Subject: [PATCH] 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 --- drivers/staging/octeon-usb/octeon-hcd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 -- 2.39.5