Hi, Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx> writes: > If a request is dequeued, the transfer is cancelled. Give back all > the started requests. > > In most scenarios, the function driver dequeues all requests of a > transfer when there's a failure. If the function driver follows this, > then it's fine. If not, then we'd be skipping TRBs at different points > within the dequeue and enqueue pointers, making dequeue/enqueue pointers > useless. To enforce and make sure that we're properly skipping TRBs, > cancel all the started requests and give back all the cancelled requests > to the function drivers. Which function driver is *not* cancelling transfers correctly? We can (and should) be defensive on dwc3, but let's not hide bugs on function drivers either. -- balbi
Attachment:
signature.asc
Description: PGP signature