[PATCH] drm/amd/powerplay: Fix double unlock bug in smu_sys_set_pp_table()
Dan Carpenter
dan.carpenter at oracle.com
Thu Mar 21 08:23:29 UTC 2019
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.
regards,
dan carpenter
More information about the amd-gfx
mailing list