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

Commit 5b172792 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: dwc3: Do not process request if HWO is set for its TRB"

parents 0e2f865a ede77b7d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -2873,8 +2873,19 @@ static int dwc3_gadget_ep_cleanup_completed_request(struct dwc3_ep *dep,
		const struct dwc3_event_depevt *event,
		struct dwc3_request *req, int status)
{
	struct dwc3 *dwc = dep->dwc;
	int ret;

	/*
	 * If the HWO is set, it implies the TRB is still being
	 * processed by the core. Hence do not reclaim it until
	 * it is processed by the core.
	 */
	if (req->trb->ctrl & DWC3_TRB_CTRL_HWO) {
		dbg_event(0xFF, "PEND TRB", dep->number);
		return 1;
	}

	if (req->num_pending_sgs)
		ret = dwc3_gadget_ep_reclaim_trb_sg(dep, req, event,
				status);