aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/dwc3/gadget.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index fd5d2bd9b7ef..16f2ba614fc0 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -894,6 +894,9 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value)
894 else 894 else
895 dep->flags |= DWC3_EP_STALL; 895 dep->flags |= DWC3_EP_STALL;
896 } else { 896 } else {
897 if (dep->flags & DWC3_EP_WEDGE)
898 return 0;
899
897 ret = dwc3_send_gadget_ep_cmd(dwc, dep->number, 900 ret = dwc3_send_gadget_ep_cmd(dwc, dep->number,
898 DWC3_DEPCMD_CLEARSTALL, &params); 901 DWC3_DEPCMD_CLEARSTALL, &params);
899 if (ret) 902 if (ret)
@@ -903,6 +906,7 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value)
903 else 906 else
904 dep->flags &= ~DWC3_EP_STALL; 907 dep->flags &= ~DWC3_EP_STALL;
905 } 908 }
909
906 return ret; 910 return ret;
907} 911}
908 912
@@ -936,7 +940,7 @@ static int dwc3_gadget_ep_set_wedge(struct usb_ep *ep)
936 940
937 dep->flags |= DWC3_EP_WEDGE; 941 dep->flags |= DWC3_EP_WEDGE;
938 942
939 return usb_ep_set_halt(ep); 943 return dwc3_gadget_ep_set_halt(ep, 1);
940} 944}
941 945
942/* -------------------------------------------------------------------------- */ 946/* -------------------------------------------------------------------------- */