On 1/21/2021 11:15 PM, Jung Daehwan wrote: > On Fri, Jan 22, 2021 03:32, Wesley cheng wrote: >> Hi Daehwan, >> >> If this is an unexpected event where userspace initiates the UDC bind >> sequence, then after the above sequence occurs, the DWC3 device should >> still be able to re-enter runtime suspend after the autosuspend timer >> expires. Since the cable is disconnected, the dwc->connected flag would >> still be false. Is this not happening in your situation? >> >> I'm just trying to understand what issue you're seeing other than the >> momentary transition from runtime suspend (due to cable disconnect) >> -->runtime resume (due to unexpected UDC bind) --> runtime suspend (due >> to nothing connected). >> >> Thanks >> Wesley cheng > > Hi Wesley, > > I don't know why but DWC3 device is not re-entering runtime-suspend in > my situation. I'm still debugging it. > Even if DWC3 re-enter runtime-suspend but it doesn't mean stopping gadget. > Are you stopping gadget manually in this case? Hi Daehwan, Sorry for the late response. So during the DWC3 runtime suspend path, we will execute dwc3_gadget_suspend() which should disable the gadget events and disable ep0 then clear RS bit. Then on runtime resume, the DWC3 will be re-enabled, and the RS bit set again. Thanks Wesley Cheng > > Best Regards, > Jung Daehwan > > -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project