Hi, > The text capture is incomplete. It is missing lots of packets. In > particular, it is missing all the packets between 202489 and 202502. The missing packets are NAK, I added the NAK after Set-Config setup stage. I hide the NAK when i export the packet capture to text format. > Also, I don't understand the "Dir H(S)" part of the capture lines. > What do they mean? They are present on every packet. Dir stands for direction, H is high speed, S is super speed. > This was never the issue. I'm sure the DATA1 packet of the Set-Config > was sent before the Get-Config request. The real question is whether > the DATA1 packet was sent before the Set-Config request had been fully > processed. > > To get more information, try adding > > msleep(100); > > just before the final "return rc;" line in do_set_config(). We should > be able to see in the analyzer log if this 100-ms delay is present. After i added msleep(100) just before final line in do_set_config(), the USB enumeration fails to complete normally. > Here's a second test you can try. In handle_exception(), the > FSG_STATE_CONFIG_CHANGE case, comment out the > > ep0_queue(fsg); > > line. Without that line the Set-Config request should time out, > because the gadget will never complete the status stage. If the > request does complete normally, it will prove that the UDC driver isn't > working right. After i comment out the ep0_queue(fsg) in FSG_STATE_CONFIG_CHANGE case of handle_exception(), the request does complete, but takes more time to complete. And UDC driver queue function is still being called after the Set-Config request. Thanks, Victor -- 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