usb: dwc2: gadget: ignore stall check for ep0
authorMian Yousaf Kaukab <yousaf.kaukab@intel.com>
Tue, 29 Sep 2015 10:08:22 +0000 (12:08 +0200)
committerFelipe Balbi <balbi@ti.com>
Thu, 1 Oct 2015 17:40:25 +0000 (12:40 -0500)
dwc2_hsotg_start_req starts a request only if endpoint is not stalled.
Ignore this check for ep0 as core will clear DOEPCTL0.Stall after
sending stall handshake. Prepare instead for receiving next setup
packet.

Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@intel.com>
Tested-by: Robert Baldyga <r.baldyga@samsung.com>
Tested-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Tested-by: John Youn <johnyoun@synopsys.com>
Acked-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc2/gadget.c

index af4f0c165d0518731dd80dbf6ac253c118fad2f1..885b5b663a69d1d073d19b2dfefeba15fbc38216 100644 (file)
@@ -556,7 +556,7 @@ static void dwc2_hsotg_start_req(struct dwc2_hsotg *hsotg,
        /* If endpoint is stalled, we will restart request later */
        ctrl = dwc2_readl(hsotg->regs + epctrl_reg);
 
-       if (ctrl & DXEPCTL_STALL) {
+       if (index && ctrl & DXEPCTL_STALL) {
                dev_warn(hsotg->dev, "%s: ep%d is stalled\n", __func__, index);
                return;
        }
This page took 0.026078 seconds and 5 git commands to generate.