OSDN Git Service

usb: dwc3: gadget: Remove unnecessary checks
authorThinh Nguyen <Thinh.Nguyen@synopsys.com>
Thu, 5 Mar 2020 21:24:14 +0000 (13:24 -0800)
committerFelipe Balbi <balbi@kernel.org>
Tue, 5 May 2020 07:58:52 +0000 (10:58 +0300)
Remove 2 unnecessary checks:
1) A request in the started_list must have its trb field set. So
checking for req->trb is unnecessary.

2) An endpoint must have started (and have not ended) for the request to
still be in the started_list. There's no point to check if the endpoint
is started. We had this check because previously the driver didn't
handle the endpoint's started/ended flags for END_TRANSFER command
properly. See commit 9f45581f5eec ("usb: dwc3: gadget: early giveback
if End Transfer already completed").

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/gadget.c

index a99152e..2b58f0e 100644 (file)
@@ -1581,9 +1581,6 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
                        /* wait until it is processed */
                        dwc3_stop_active_transfer(dep, true, true);
 
-                       if (!r->trb)
-                               goto out0;
-
                        /*
                         * Remove any started request if the transfer is
                         * cancelled.
@@ -1591,10 +1588,7 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
                        list_for_each_entry_safe(r, t, &dep->started_list, list)
                                dwc3_gadget_move_cancelled_request(r);
 
-                       if (dep->flags & DWC3_EP_TRANSFER_STARTED)
-                               goto out0;
-                       else
-                               goto out1;
+                       goto out0;
                }
                dev_err(dwc->dev, "request %pK was not queued to %s\n",
                                request, ep->name);
@@ -1602,7 +1596,6 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
                goto out0;
        }
 
-out1:
        dwc3_gadget_giveback(dep, req, -ECONNRESET);
 
 out0: