usb: ci13xxx: Add zptr cleanup code in _ep_nuke
Based on req.zero flag controller driver prepares zero length TD and
appends it when priming endpoint. If _ep_nuke is invoked before
request completion, then req->zptr flag is not cleared. Next time
when same usb_request is queued with short packet then ep_queue
routine ends up appending zero length TD to it which is not initialized
and may not have TERMINATE bit set. This results in EP prime failure.
Fix this by clearing and freeing any references of zero length TDs in
usb_request on _ep_nuke.
Change-Id: I1ba3f383a49af2ef8e2f8bfce37448c14bbf03cc
Signed-off-by:
Ajay Agarwal <ajaya@codeaurora.org>
Loading
Please register or sign in to comment