Hi Dinghao, On Wed, May 20, 2020 at 6:35 AM Dinghao Liu <dinghao.liu@xxxxxxxxxx> wrote: > > pm_runtime_get_sync() increments the runtime PM usage counter even > the call returns an error code. Thus a pairing decrement is needed > on the error handling path to keep the counter balanced. This is a very surprising behavior and I wonder if this should be fixed in the PM core (or the required cleanup steps need to be called out in the function description). I also see that a few drivers that handle this situation correctly (?) call pm_runtime_put_noidle() instead of pm_runtime_put_sync() in the error path. Rafael, do you have any guidance here? Thanks. -- Dmitry