On Thu, 30 Apr 2020, Thinh Nguyen wrote: > Peter Chen wrote: > > If 'transfer size' here is software concept, why controller needs to know? The general > > controller internal logic doesn't care class protocol, it only cares TRB chain software prepares. > > While some controllers don't have the concept of this, DWC_usb3x does. > It has a notion of starting and ending a transfer. While a transfer is > started, the endpoint uses a resource. It releases that resource when > the transfer completes. So far, dwc3 implemented in such a way that bulk > transfers are always in-progress and don't complete. That's fine so far, > but it's not the case with streams. This is peculiar. I haven't heard of any other controller doing this. What does the controller use this resource for? Would anything go wrong if you told the controller that each transfer was a single usb_request? Alan Stern