summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-12 14:39:13 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-12 14:39:13 -0400
commit2465e88dbad00d58c0a46e65135c52b501914ddc (patch)
tree9e5e477396bd777c2400728a75d12ca4eb10c1e0
parentd5037bd8ff28e2e67f2cb3a61a52ef3e24d1b8e8 (diff)
downloadlongterm-queue-4.8-2465e88dbad00d58c0a46e65135c52b501914ddc.tar.gz
usb: gadget: update patch for "_by_dev" suffix
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/usb-dwc3-gadget-delay-unmap-of-bounced-requests.patch23
1 files changed, 12 insertions, 11 deletions
diff --git a/queue/usb-dwc3-gadget-delay-unmap-of-bounced-requests.patch b/queue/usb-dwc3-gadget-delay-unmap-of-bounced-requests.patch
index 3a78353..f539d75 100644
--- a/queue/usb-dwc3-gadget-delay-unmap-of-bounced-requests.patch
+++ b/queue/usb-dwc3-gadget-delay-unmap-of-bounced-requests.patch
@@ -1,4 +1,4 @@
-From de288e36fe33f7e06fa272bc8e2f85aa386d99aa Mon Sep 17 00:00:00 2001
+From 2db5e03f7814aa69e715eef4f39eb5290f4c1e8c Mon Sep 17 00:00:00 2001
From: Janusz Dziedzic <januszx.dziedzic@intel.com>
Date: Mon, 13 Mar 2017 14:11:32 +0200
Subject: [PATCH] usb: dwc3: gadget: delay unmap of bounced requests
@@ -12,20 +12,21 @@ This caused problems with RNDIS gadget.
Signed-off-by: Janusz Dziedzic <januszx.dziedzic@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
-index 0d75158e43fe..79e7a3480d51 100644
+index cdb78d2b3513..5b13ead754a7 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -171,6 +171,7 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
+@@ -174,6 +174,7 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
int status)
{
struct dwc3 *dwc = dep->dwc;
+ unsigned int unmap_after_complete = false;
+ int i;
- req->started = false;
- list_del(&req->list);
-@@ -180,11 +181,19 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
+ if (req->started) {
+@@ -189,11 +190,19 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
if (req->request.status == -EINPROGRESS)
req->request.status = status;
@@ -39,17 +40,17 @@ index 0d75158e43fe..79e7a3480d51 100644
+ if (dwc->ep0_bounced && dep->number <= 1) {
dwc->ep0_bounced = false;
-
-- usb_gadget_unmap_request_by_dev(dwc->sysdev,
-- &req->request, req->direction);
+- usb_gadget_unmap_request(&dwc->gadget, &req->request,
+- req->direction);
+ unmap_after_complete = true;
+ } else {
-+ usb_gadget_unmap_request_by_dev(dwc->sysdev,
-+ &req->request, req->direction);
++ usb_gadget_unmap_request(&dwc->gadget, &req->request,
++ req->direction);
+ }
trace_dwc3_gadget_giveback(req);
-@@ -192,6 +201,10 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
+@@ -201,6 +210,10 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
usb_gadget_giveback_request(&dep->endpoint, &req->request);
spin_lock(&dwc->lock);