From: Felipe Balbi Date: Wed, 21 Mar 2012 09:44:00 +0000 (+0200) Subject: usb: dwc3: ep0: increment "actual" on bounced ep0 case X-Git-Tag: v3.3.4~29 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=36de412a4eb52d3558b946f7055e83c19c31b1ba;p=karo-tx-linux.git usb: dwc3: ep0: increment "actual" on bounced ep0 case commit cd423dd3634a5232a3019eb372b144619a61cd16 upstream. due to a HW limitation we have a bounce buffer for ep0 out transfers which are not aligned with MaxPacketSize. On such case we were not increment r->actual as we should. This patch fixes that mistake. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index c8df1dd967ef..45ffddb41fc8 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -583,9 +583,10 @@ static void dwc3_ep0_complete_data(struct dwc3 *dwc, dwc->ep0_bounced = false; } else { transferred = ur->length - trb.length; - ur->actual += transferred; } + ur->actual += transferred; + if ((epnum & 1) && ur->actual < ur->length) { /* for some reason we did not get everything out */