Hi Ron/Greg, I am facing similar issue with serial gadget configured on i.MX6Q Sabrelite board. In my case Host sends packets starting with 10 bytes to 2MB bytes in increments of 1 byte. And device simply loopback the same packet with status byte. However everything works fine until Tx (reply) packet size from device is 16895 bytes. For Tx packet size >= 16896 Host is unable to receive last few bytes. For Tx size of 16896 I can see on host usbmon trace that all bytes are received but still waiting for transaction to complete. And for Tx size more than 16896 it is still waiting for last few bytes. And eventually Host application will time out. In my device side transmit routine I have tried sending whole packet at once. And also dividing packet into smaller chunks (4096, 8192, 16384) but same behavior. I can receive data upto 2MB so receive looks fine. I have applied following patches. - Workqueue patch - http://comments.gmane.org/gmane.linux.usb.general/26772 - POSTPONE_FREE_LAST_DTD patch - http://patchwork.ozlabs.org/patch/157845/ Appreciate any help on this. Regards, Dipen Patel -- 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