Преглед на файлове

usb: dwc3: gadget: stop kicking if we run out of space

In case our TRB ring is full, we can avoid trying to
kick transfers which won't start and just add requests
to the queue.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Felipe Balbi преди 9 години
родител
ревизия
594e121f25
променени са 1 файла, в които са добавени 3 реда и са изтрити 0 реда
  1. 3 0
      drivers/usb/dwc3/gadget.c

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

@@ -1082,6 +1082,9 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req)
 		return 0;
 	}
 
+	if (!dwc3_calc_trbs_left(dep))
+		return 0;
+
 	ret = __dwc3_gadget_kick_transfer(dep, 0);
 	if (ret && ret != -EBUSY)
 		dwc3_trace(trace_dwc3_gadget,