diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index fe4e0ac00f06..1a90877f8b96 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -2006,11 +2006,13 @@ static const struct usb_gadget_ops dwc3_gadget_ops = { /* -------------------------------------------------------------------------- */ -static int dwc3_gadget_init_hw_endpoints(struct dwc3 *dwc, u8 num) +static int dwc3_gadget_init_endpoints(struct dwc3 *dwc, u8 num) { struct dwc3_ep *dep; u8 epnum; + INIT_LIST_HEAD(&dwc->gadget.ep_list); + for (epnum = 0; epnum < num; epnum++) { bool direction = epnum & 1; @@ -2112,13 +2114,6 @@ static int dwc3_gadget_init_hw_endpoints(struct dwc3 *dwc, u8 num) return 0; } -static int dwc3_gadget_init_endpoints(struct dwc3 *dwc) -{ - INIT_LIST_HEAD(&dwc->gadget.ep_list); - - return dwc3_gadget_init_hw_endpoints(dwc, dwc->num_eps); -} - static void dwc3_gadget_free_endpoints(struct dwc3 *dwc) { struct dwc3_ep *dep; @@ -3226,7 +3221,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) * sure we're starting from a well known location. */ - ret = dwc3_gadget_init_endpoints(dwc); + ret = dwc3_gadget_init_endpoints(dwc, dwc->num_eps); if (ret) goto err6;