Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db376566 authored by Thinh Nguyen's avatar Thinh Nguyen Committed by Mayank Rana
Browse files

usb: dwc3: gadget: Check for in-progress END_TRANSFER



While handling TRBs completion, if a END_TRANSFER command isn't
completed, don't kick new transfer or issue END_TRANSFER command.

Change-Id: Ic1d6b942c6c7993165d574dcc70078fb269365dd
Signed-off-by: default avatarThinh Nguyen <thinhn@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
Git-commit: b6842d4938c3101cb54dc262a6a89a5445f8fba8
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git


Signed-off-by: default avatarMayank Rana <mrana@codeaurora.org>
parent 19a5a7fa
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2932,9 +2932,13 @@ static void dwc3_gadget_endpoint_transfer_in_progress(struct dwc3_ep *dep,

	dwc3_gadget_ep_cleanup_completed_requests(dep, event, status);

	if (dep->flags & DWC3_EP_END_TRANSFER_PENDING)
		goto out;

	if (stop)
		dwc3_stop_active_transfer(dep, true, true);

out:
	/*
	 * WORKAROUND: This is the 2nd half of U1/U2 -> U0 workaround.
	 * See dwc3_gadget_linksts_change_interrupt() for 1st half.