Hello. On 24-09-2010 12:43, Ming Lei wrote:
I think so too. But I am not sure, since I don't know why the request->length check is introduced, so I don't remove the check in the patch and just fix the ZLP issue only.
The check is there in order to prevent the controller driver from sending _two_ ZLPs when the gadget driver queues a request with request.length == 0 and request.zero set.
Seems there is no such problem of sending _two_ ZLPs in the case. The request will be giveback immediately after the 1st ZLP is sent since request.length == request.actual == 0 will trigger giveback.
The first ZLP would result from request->length being zero and will be sent by txstate() called from muysb_ep_restart(), the second will result from request->zero and will be sent from musb_g_tx(). Both will still be sent before (request.length == request.actual) check for giveback kicks in.
WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html