Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2dfe37d4 authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: dwc3: ep0: make sure to reinitilize ep1 on STALL



When issuing SetStall on ep0, we must make sure to
reinitialize all flags on physical ep1 too.

Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 7125d584
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -262,9 +262,14 @@ int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request,

static void dwc3_ep0_stall_and_restart(struct dwc3 *dwc)
{
	struct dwc3_ep		*dep = dwc->eps[0];
	struct dwc3_ep		*dep;

	/* reinitialize physical ep1 */
	dep = dwc->eps[1];
	dep->flags = DWC3_EP_ENABLED;

	/* stall is always issued on EP0 */
	dep = dwc->eps[0];
	__dwc3_gadget_ep_set_halt(dep, 1);
	dep->flags = DWC3_EP_ENABLED;
	dwc->delayed_status = false;