Commit 8c7d4b7b authored by Tejas Joglekar's avatar Tejas Joglekar Committed by Felipe Balbi
Browse files

usb: dwc3: gadget: Fix logical condition



This patch corrects the condition to kick the transfer without
giving back the requests when either request has remaining data
or when there are pending SGs. The && check was introduced during
spliting up the dwc3_gadget_ep_cleanup_completed_requests() function.

Fixes: f38e35dd ("usb: dwc3: gadget: split dwc3_gadget_ep_cleanup_completed_requests()")

Cc: stable@vger.kernel.org
Signed-off-by: default avatarTejas Joglekar <joglekar@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
parent e42617b8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2491,7 +2491,7 @@ static int dwc3_gadget_ep_cleanup_completed_request(struct dwc3_ep *dep,

	req->request.actual = req->request.length - req->remaining;

	if (!dwc3_gadget_ep_request_completed(req) &&
	if (!dwc3_gadget_ep_request_completed(req) ||
			req->num_pending_sgs) {
		__dwc3_gadget_kick_transfer(dep);
		goto out;