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: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
68e823e24a
commit
42f8eb7a10
|
@ -672,16 +672,10 @@ 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);
|
||||
break;
|
||||
dwc3_prepare_one_trb(dep, req, last_one);
|
||||
|
||||
if (last_one)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue