From: Felipe Balbi Date: Mon, 23 Jul 2012 06:07:41 +0000 (+0300) Subject: usb: dwc3: ep0: make sure to reinitilize ep1 on STALL X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=2dfe37d4a5f9a7586a7ff79249492fb8280afb6f;p=deliverable%2Flinux.git 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: Felipe Balbi --- diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index 3f2c698a2bd1..1bba97ba218d 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -262,9 +262,14 @@ out: 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;