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

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

Merge "usb: dwc3: gadget: Prevent core from processing stale TRBs"

parents bec2756b 2280fa97
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1200,6 +1200,12 @@ static void __dwc3_prepare_one_trb(struct dwc3_ep *dep, struct dwc3_trb *trb,
	if (usb_endpoint_xfer_bulk(dep->endpoint.desc) && dep->stream_capable)
		trb->ctrl |= DWC3_TRB_CTRL_SID_SOFN(stream_id);

	/*
	 * Ensure that updates of buffer address and size happens
	 * before we set the DWC3_TRB_CTRL_HWO so that core
	 * does not process any stale TRB.
	 */
	mb();
	trb->ctrl |= DWC3_TRB_CTRL_HWO;

	dwc3_ep_inc_enq(dep);