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

Julia Lawall julia.lawall at lip6.fr
Thu Mar 21 08:26:44 UTC 2019



On Thu, 21 Mar 2019, Dan Carpenter wrote:

> On Thu, Mar 21, 2019 at 09:20:38AM +0100, Julia Lawall wrote:
> >
> >
> > On Thu, 21 Mar 2019, Huang, Ray wrote:
> >
> > > > -----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;
> >
> > Why not return 0?
>
> It's not necessarily zero.

Oops, I was looking at the invisble goto after the pr_info :)

julia


More information about the amd-gfx mailing list