On Wed, Mar 17, 2021 at 11:11:59AM -0400, Alan Stern wrote: > On Wed, Mar 17, 2021 at 05:25:20PM +0900, taehyun cho wrote: > > On Mon, Mar 15, 2021 at 10:13:35AM -0400, Alan Stern wrote: > > > On Mon, Mar 15, 2021 at 04:43:17PM +0900, taehyun cho wrote: > > > > 'pm_runtime_set_active' sets a flag to describe rumtime status. > > > > This flag is automatically set in pm_runtime_get_sync/put_sync API. > > > > 'pm_runtime_set_active' checks the runtime status of parent device. > > > > As a result, the below error message is printed. > > > > dwc3 11110000.dwc3: runtime PM trying to activate child device > > > > 11110000.dwc3 but parent (11110000.usb) is not active. > > > > > > This is very suspicious. That error message indicates a real error is > > > present; removing these pm_runtime_set_active calls won't fix the error. > > > > > > You need to determine why the parent platform device 11110000.usb isn't > > > active when the dwc3 probe and resume routines are called. It seems > > > likely that there is a bug in the platform device's driver. > > > > > > Alan Stern > > > > > > > Alan, > > > > Thanks to your comments, I checked our platform device driver and found > > the problem. Our parent platform device didn't set active in resume > > callback. This made a problem. > > Ah, good. Does the platform driver set the active flag in its probe > routine? > PM resume callback function in our platform driver had a bug. Resume callback function doesn't set active flag in 'pm_runtime_suspended' state. This is a obvious bug. We are rebuilding our platform device driver. This bug looks inserted while rebuilding a driver. Thanks. Taehyun Cho > > Thank you for the help and sorry for > > disturbing you. > > No problem at all. > > Alan Stern >