On Thu, 11 Apr 2013, victor yeo wrote: > Thanks for the detailed write-up. I have checked the UDC driver > set_halt(), it is called by the gadget driver. The full ascii text of > usbmon trace for one usb session is also attached. This usbmon trace > shows a few EOVERFLOW(-75) error. I don't know why EOVERFLOW error > happened. Because your UDC driver sent a packet that was too big. Here's the first example from the trace: f3a2b6c0 3633034189 S Bo:2:036:1 -115 31 = 55534243 06000000 00000000 00000600 00000000 00000000 00000000 000000 f3a2b6c0 3633034326 C Bo:2:036:1 0 31 > f3a2b6c0 3633034518 S Bi:2:036:1 -115 13 < f3a2b6c0 3633040328 C Bi:2:036:1 -75 0 The first two lines show the host sending a TEST UNIT READY command. The third line shows the host waiting for a 13-byte CSW data packet. The -75 error means that the UDC sent back a data packet containing more than 13 bytes. Alan Stern -- 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