usb: dwc3: gadget: check for lack of TRBs a bit earlier
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 5 Sep 2017 11:28:46 +0000 (14:28 +0300)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 19 Oct 2017 07:38:05 +0000 (10:38 +0300)
This will let us call __dwc3_gadget_kick_transfer()
unconditionally. No functional changes, cleanup only.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c

index f064f15..a943f6e 100644 (file)
@@ -1151,9 +1151,6 @@ static void dwc3_prepare_trbs(struct dwc3_ep *dep)
 
        BUILD_BUG_ON_NOT_POWER_OF_2(DWC3_TRB_NUM);
 
-       if (!dwc3_calc_trbs_left(dep))
-               return;
-
        /*
         * We can get in a situation where there's a request in the started list
         * but there weren't enough TRBs to fully kick it in the first time
@@ -1202,6 +1199,9 @@ static int __dwc3_gadget_kick_transfer(struct dwc3_ep *dep, u16 cmd_param)
        int                             ret;
        u32                             cmd;
 
+       if (!dwc3_calc_trbs_left(dep))
+               return 0;
+
        starting = !(dep->flags & DWC3_EP_BUSY);
 
        dwc3_prepare_trbs(dep);