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

Commit 42f8eb7a authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: dwc3: gadget: don't force 'LST' always



the LST bit is to be set on the last of a series
of consecutive TRBs. We had a workaround for a
problem where data would get corrupted but that
doesn't happen anymore. It's likely that it was
caused by some FPGA instability during development
phase.

Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 68e823e2
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -672,15 +672,9 @@ static void dwc3_prepare_trbs(struct dwc3_ep *dep, bool starting)
		if (list_empty(&dep->request_list))
			last_one = 1;

		/*
		 * FIXME we shouldn't need to set LST bit always but we are
		 * facing some weird problem with the Hardware where it doesn't
		 * complete even though it has been previously started.
		 *
		 * While we're debugging the problem, as a workaround to
		 * multiple TRBs handling, use only one TRB at a time.
		 */
		dwc3_prepare_one_trb(dep, req, true);
		dwc3_prepare_one_trb(dep, req, last_one);

		if (last_one)
			break;
	}
}