>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c >> index 173f532..88eed49 100644 >> --- a/drivers/usb/dwc3/gadget.c >> +++ b/drivers/usb/dwc3/gadget.c >> @@ -2394,7 +2394,7 @@ static int dwc3_gadget_ep_reclaim_completed_trb(struct >> dwc3_ep *dep, >> if (event->status & DEPEVT_STATUS_SHORT && !chain) >> return 1; >> >> - if (event->status & DEPEVT_STATUS_IOC) >> + if (event->status & DEPEVT_STATUS_IOC && !chain) >> return 1; > > This will break the situation when we have more SGs than available TRBs. In > that case we set IOC before the last so we have time to update transfer to > append more TRBs. What's your opinion on https://patchwork.kernel.org/patch/10640137/? Checking condition "(event->status & DEPEVT_STATUS_IOC) && (trb->ctrl & DWC3_TRB_CTRL_IOC)" won't cause problem handling TRB shortage cases, right?
> Please, send me tracepoints I sent you the tracepoints last Friday, any new findings?