From 169be014b85ca219a93fafa5a3e2a44ee492f48c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 25 Apr 2012 15:37:32 -0700 Subject: [PATCH] 3.3-stable patches added patches: usb-dwc3-ep0-increment-actual-on-bounced-ep0-case.patch --- queue-3.3/series | 1 + ...increment-actual-on-bounced-ep0-case.patch | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 queue-3.3/usb-dwc3-ep0-increment-actual-on-bounced-ep0-case.patch diff --git a/queue-3.3/series b/queue-3.3/series index 3ab358a3f93..65baf85f3d0 100644 --- a/queue-3.3/series +++ b/queue-3.3/series @@ -60,3 +60,4 @@ ocfs-rl_used-breakage-on-big-endian.patch ocfs2-rl_count-endianness-breakage.patch ocfs2-e_leaf_clusters-endianness-breakage.patch lockd-fix-the-endianness-bug.patch +usb-dwc3-ep0-increment-actual-on-bounced-ep0-case.patch diff --git a/queue-3.3/usb-dwc3-ep0-increment-actual-on-bounced-ep0-case.patch b/queue-3.3/usb-dwc3-ep0-increment-actual-on-bounced-ep0-case.patch new file mode 100644 index 00000000000..4b82936f9e1 --- /dev/null +++ b/queue-3.3/usb-dwc3-ep0-increment-actual-on-bounced-ep0-case.patch @@ -0,0 +1,37 @@ +From cd423dd3634a5232a3019eb372b144619a61cd16 Mon Sep 17 00:00:00 2001 +From: Felipe Balbi +Date: Wed, 21 Mar 2012 11:44:00 +0200 +Subject: usb: dwc3: ep0: increment "actual" on bounced ep0 case + +From: Felipe Balbi + +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 + +--- + drivers/usb/dwc3/ep0.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/usb/dwc3/ep0.c ++++ b/drivers/usb/dwc3/ep0.c +@@ -583,9 +583,10 @@ static void dwc3_ep0_complete_data(struc + 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 */ + -- 2.47.3