>> >Would you please share the use case how to reproduce it? >> We checked again and found NCM gadget driver should not have this issue. >> Please ignore this patch. >> >> However, we still observe similar issue in ECM and RNDIS gadget driver. Take >> ECM as example, if we plug ECM gadget in high-speed host port first. And, the host >> only set interface with alternate setting != 1 (alt != 1 in ecm_set_alt()) for ECM >> gadget. Then, if we unplug gadget from high-speed host port to another super- >> speed host port afterwards, we will see both in_ep->desc and out_ep->desc in ecm- > >port keep values for high-speed endpoints. Although NCM's implementation is >> similar to ECM in this part, NCM doesn't have same issue as it only does >> config_ep_by_speed() under if alt is 1. >Does your UDC driver call composite_disconnect when disconnect from the host? >It should set all desc to NULL at related function ->disable. For ECM case, if ecm_set_alt() gets called with alt == 0, in_ep->desc and out_ep->desc will be set up. But these two ep will not be enabled as gether_connect() is not executed. During disconnect from the host, ecm_disable() gets called with ep disabled. In this case, gether_disconnect() will not get called to set desc to NULL.