From d4037f52e22be5f6d545efc8ec47107e99606f87 Mon Sep 17 00:00:00 2001 From: William Wu Date: Sat, 22 Aug 2020 16:32:55 +0800 Subject: [PATCH] usb: dwc3: gadget: fix fifo number for txfifo resize If the dep resoure is assigned to an EP-IN, and the EP-IN has not yet be enabled, we need to increase the fifo number rather than skip out directly. Fixes: 49b5c0d29f37 ("usb: dwc3: gadget: fix ep init for unequal num of in/out eps") Change-Id: I6d45f859edda52542d421e1711138f69050dd90f Signed-off-by: William Wu --- drivers/usb/dwc3/gadget.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index c217c0e87018..ad6358e9556b 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -180,10 +180,14 @@ static int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc) int tmp; /* Skip out endpoints */ - if (!dep || !dep->direction || - !(dep->flags & DWC3_EP_ENABLED)) + if (!dep || !dep->direction) continue; + if (!(dep->flags & DWC3_EP_ENABLED)) { + fifo_number++; + continue; + } + if (usb_endpoint_xfer_bulk(dep->endpoint.desc)) { mult = 3; } else if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) {