[PATCH v2] drm/exynos: Use pm_runtime_resume_and_get() to replace open coding

Daniel Vetter daniel at ffwll.ch
Fri May 21 15:31:33 UTC 2021


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.

With that or similar added to the commit message:

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> 
> Signed-off-by: Tian Tao <tiantao6 at hisilicon.com>
> ---
> 
> 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
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list