21. 5. 22. 오전 12:31에 Daniel Vetter 이(가) 쓴 글: > On Fri, May 21, 2021 at 05:06:06PM +0800, Tian Tao wrote: >> use pm_runtime_resume_and_get() to replace pm_runtime_get_sync and >> pm_runtime_put_noidle. > > It would be good to explain why: Apparently get_sync increments the > refcount even if it fails, which ususally leads to leaks. Tian Tao, could you update the description? Thanks, Inki Dae > > With that or similar added to the commit message: > > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > >> >> Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx> >> --- >> >> v2: drop unnecessary change about if condition. >> --- >> drivers/gpu/drm/exynos/exynos_drm_mic.c | 6 ++---- >> 1 file changed, 2 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c >> index 3821ea7..32672bf 100644 >> --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c >> +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c >> @@ -268,11 +268,9 @@ static void mic_pre_enable(struct drm_bridge *bridge) >> if (mic->enabled) >> goto unlock; >> >> - ret = pm_runtime_get_sync(mic->dev); >> - if (ret < 0) { >> - pm_runtime_put_noidle(mic->dev); >> + ret = pm_runtime_resume_and_get(mic->dev); >> + if (ret < 0) >> goto unlock; >> - } >> >> mic_set_path(mic, 1); >> >> -- >> 2.7.4 >> >