aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r--drivers/usb/dwc3/ep0.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index 477127aecb98..75d5722db93b 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -54,7 +54,7 @@
54#include "gadget.h" 54#include "gadget.h"
55#include "io.h" 55#include "io.h"
56 56
57static void dwc3_ep0_do_control_status(struct dwc3 *dwc, u32 epnum); 57static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep);
58static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, 58static void __dwc3_ep0_do_control_data(struct dwc3 *dwc,
59 struct dwc3_ep *dep, struct dwc3_request *req); 59 struct dwc3_ep *dep, struct dwc3_request *req);
60 60
@@ -160,7 +160,7 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep,
160 dwc->delayed_status = false; 160 dwc->delayed_status = false;
161 161
162 if (dwc->ep0state == EP0_STATUS_PHASE) 162 if (dwc->ep0state == EP0_STATUS_PHASE)
163 dwc3_ep0_do_control_status(dwc, 1); 163 __dwc3_ep0_do_control_status(dwc, dwc->eps[1]);
164 else 164 else
165 dev_dbg(dwc->dev, "too early for delayed status\n"); 165 dev_dbg(dwc->dev, "too early for delayed status\n");
166 } 166 }
@@ -875,10 +875,8 @@ static int dwc3_ep0_start_control_status(struct dwc3_ep *dep)
875 dwc->ctrl_req_addr, 0, type); 875 dwc->ctrl_req_addr, 0, type);
876} 876}
877 877
878static void dwc3_ep0_do_control_status(struct dwc3 *dwc, u32 epnum) 878static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep)
879{ 879{
880 struct dwc3_ep *dep = dwc->eps[epnum];
881
882 if (dwc->resize_fifos) { 880 if (dwc->resize_fifos) {
883 dev_dbg(dwc->dev, "starting to resize fifos\n"); 881 dev_dbg(dwc->dev, "starting to resize fifos\n");
884 dwc3_gadget_resize_tx_fifos(dwc); 882 dwc3_gadget_resize_tx_fifos(dwc);
@@ -888,6 +886,14 @@ static void dwc3_ep0_do_control_status(struct dwc3 *dwc, u32 epnum)
888 WARN_ON(dwc3_ep0_start_control_status(dep)); 886 WARN_ON(dwc3_ep0_start_control_status(dep));
889} 887}
890 888
889static void dwc3_ep0_do_control_status(struct dwc3 *dwc,
890 const struct dwc3_event_depevt *event)
891{
892 struct dwc3_ep *dep = dwc->eps[event->endpoint_number];
893
894 __dwc3_ep0_do_control_status(dwc, dep);
895}
896
891static void dwc3_ep0_xfernotready(struct dwc3 *dwc, 897static void dwc3_ep0_xfernotready(struct dwc3 *dwc,
892 const struct dwc3_event_depevt *event) 898 const struct dwc3_event_depevt *event)
893{ 899{
@@ -988,7 +994,7 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc,
988 return; 994 return;
989 } 995 }
990 996
991 dwc3_ep0_do_control_status(dwc, event->endpoint_number); 997 dwc3_ep0_do_control_status(dwc, event);
992 } 998 }
993} 999}
994 1000