diff --git a/[refs] b/[refs] index 08b9ecc5fe90..9f190172c13a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 68e823e24aea5227eaf20d6435485e733109d113 +refs/heads/master: 42f8eb7a1087442e9710ce75b355c0f28aadbf96 diff --git a/trunk/drivers/usb/dwc3/gadget.c b/trunk/drivers/usb/dwc3/gadget.c index 984580a18a38..0292b0617d72 100644 --- a/trunk/drivers/usb/dwc3/gadget.c +++ b/trunk/drivers/usb/dwc3/gadget.c @@ -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; } }