aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2012-03-21 11:44:00 +0200
committerBen Hutchings <ben@decadent.org.uk>2012-05-11 13:14:15 +0100
commit0ae5d66e40cde5a95ed16d28a480d2ce91834bfc (patch)
treed52d316e7e656515338e42c3499b5e7c72b33d03
parent4d0892e26975d5664bdf127646f8d3988c99e98e (diff)
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 <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--drivers/usb/dwc3/ep0.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index 27bd50a9e06..c0dcf698cb7 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -572,9 +572,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 */