[PATCH] drm/amd/powerplay: Fix double unlock bug in smu_sys_set_pp_table()

Huang, Ray Ray.Huang at amd.com
Thu Mar 21 06:52:27 UTC 2019


> -----Original Message-----
> From: Dan Carpenter [mailto:dan.carpenter at oracle.com]
> Sent: Thursday, March 21, 2019 2:28 PM
> To: Deucher, Alexander <Alexander.Deucher at amd.com>; Wang, Kevin(Yang)
> <Kevin1.Wang at amd.com>
> Cc: Koenig, Christian <Christian.Koenig at amd.com>; Zhou, David(ChunMing)
> <David1.Zhou at amd.com>; David Airlie <airlied at linux.ie>; Daniel Vetter
> <daniel at ffwll.ch>; Huang, Ray <Ray.Huang at amd.com>; Gao, Likun
> <Likun.Gao at amd.com>; Gui, Jack <Jack.Gui at amd.com>; amd-
> gfx at lists.freedesktop.org; kernel-janitors at vger.kernel.org
> Subject: [PATCH] drm/amd/powerplay: Fix double unlock bug in
> smu_sys_set_pp_table()
> 
> We already unlocked a few lines earlier so this code unlocks twice on the
> success path.
> 
> Fixes: 5809d7420f97 ("drm/amd/powerplay: implement sysfs of pp_table for
> smu11 (v2)")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>

Nice catch!  Thanks, Dan.
Kevin, could you please verify this patch.
Reviewed-by: Huang Rui <ray.huang at amd.com>

> ---
> I'm not sure what this bug looks like at runtime, but it's slightly weird that no
> one noticed.  This is from static analysis and I haven't tested it myself.
> 
>  drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> index 00b7c885772b..7e8c74da6a74 100644
> --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> @@ -187,6 +187,8 @@ int smu_sys_set_pp_table(struct smu_context *smu,
> void *buf, size_t size)
>  	if (ret)
>  		pr_info("smu reset failed, ret = %d\n", ret);
> 
> +	return ret;
> +
>  failed:
>  	mutex_unlock(&smu->mutex);
>  	return ret;
> --
> 2.17.1



More information about the amd-gfx mailing list