瀏覽代碼

usb: dwc3: gadget: purge dwc3_stop_active_transfers()

That function is unnecessarily called from
dwc3_gadget_reset_interrupt(). Gadget drivers (and
thus, functions) are required to dequeue all pending
requests when they get notified about a USB Bus
Reset.

Trying to make sure there are no pending requests
only serves the purpose of working around possibly
bad gadgets.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Felipe Balbi 8 年之前
父節點
當前提交
cf68923055
共有 1 個文件被更改,包括 0 次插入20 次删除
  1. 0 20
      drivers/usb/dwc3/gadget.c

+ 0 - 20
drivers/usb/dwc3/gadget.c

@@ -2302,24 +2302,6 @@ static void dwc3_stop_active_transfer(struct dwc3 *dwc, u32 epnum, bool force)
 		udelay(100);
 		udelay(100);
 }
 }
 
 
-static void dwc3_stop_active_transfers(struct dwc3 *dwc)
-{
-	u32 epnum;
-
-	for (epnum = 2; epnum < DWC3_ENDPOINTS_NUM; epnum++) {
-		struct dwc3_ep *dep;
-
-		dep = dwc->eps[epnum];
-		if (!dep)
-			continue;
-
-		if (!(dep->flags & DWC3_EP_ENABLED))
-			continue;
-
-		dwc3_remove_requests(dwc, dep);
-	}
-}
-
 static void dwc3_clear_stall_all_ep(struct dwc3 *dwc)
 static void dwc3_clear_stall_all_ep(struct dwc3 *dwc)
 {
 {
 	u32 epnum;
 	u32 epnum;
@@ -2405,8 +2387,6 @@ static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc)
 	reg &= ~DWC3_DCTL_TSTCTRL_MASK;
 	reg &= ~DWC3_DCTL_TSTCTRL_MASK;
 	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
 	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
 	dwc->test_mode = false;
 	dwc->test_mode = false;
-
-	dwc3_stop_active_transfers(dwc);
 	dwc3_clear_stall_all_ep(dwc);
 	dwc3_clear_stall_all_ep(dwc);
 
 
 	/* Reset device address to zero */
 	/* Reset device address to zero */