I didn't say it was duplicate for DMA, just too late.
how come ? we need to send ZLP before giving back the request.
Well, look at the code ionce again. We need to send ZLP *after*
request->actual == request->length, but as the check is inserted after the
ZLP send, ZLP *may* be sent once the first DMA completes, not the last.
Yes, it is really a problem, as said by balbi. And the problem should be
in the check for zlp or the 'is_dma' condition.
But this patch is not addressed for the zlp problem, and is is only for
completing the request only if the data transfer in usb_request
is over, as explained before, right?