Hello,
I got a USB bulk transfer fail on gadget driver at OMAP 5432 ES2.0.
This function works fine on OMAP 4460.
SDK:
ti-glsdk_omap5-uevm_6_03_00_01
Setting:
The USB interface includes in-pipe and out-pipe with bulk mode.
Symptom:
The in-bulk can't trigger the completion callback function after some transfers (or can't queue input data). At this moment host application is read-pending locked. That isn't fail immediately and it is locked after some transmition randomly.
status = usb_ep_queue(in_ep, Req, GFP_ATOMIC);
if (status)
ERROR(cdev, "%s:%s queue req --> %d\n", __func__, mipi->in_ep->name, status);
Even re-queue a new in-request, its in-queue complete-callback still can't be triggered(host issued a read function and is pending to get data).
The usb_ep_queue() function hasn't reported error condition.
When in-pipe locked, the out-pipe is still workable.
Where is good entry let me can trace that code? I can't find the queue-callback entry of usb-ep-ops for to debug it.
Please help/give me some comments!
Best regards,
T.J.Hsu