Re: [PATCH -next v4] drm/amdgpu: return 'ret' immediately if failed in amdgpu_pmu_init
From: maowenan
Date: Wed Jun 26 2019 - 07:35:54 EST
On 2019/6/25 1:42, Kim, Jonathan wrote:
> Immediate return should be ok since perf registration isn't dependent on gpu hw.
>
> Reviewed-by: Jonathan Kim <Jonathan.Kim@xxxxxxx>
thanks for review.
>
> -----Original Message-----
> From: Mao Wenan <maowenan@xxxxxxxxxx>
> Sent: Monday, June 24, 2019 7:23 AM
> To: airlied@xxxxxxxx; daniel@xxxxxxxx; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Koenig, Christian <Christian.Koenig@xxxxxxx>; Zhou, David(ChunMing) <David1.Zhou@xxxxxxx>; dan.carpenter@xxxxxxxxxx; julia.lawall@xxxxxxx
> Cc: kernel-janitors@xxxxxxxxxxxxxxx; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Kim, Jonathan <Jonathan.Kim@xxxxxxx>; Mao Wenan <maowenan@xxxxxxxxxx>
> Subject: [PATCH -next v4] drm/amdgpu: return 'ret' immediately if failed in amdgpu_pmu_init
>
> [CAUTION: External Email]
>
> There is one warning:
> drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c: In function âamdgpu_pmu_initâ:
> drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c:249:6: warning: variable âretâ set but not used [-Wunused-but-set-variable]
> int ret = 0;
> ^
> amdgpu_pmu_init() is called by amdgpu_device_init() in drivers/gpu/drm/amd/amdgpu/amdgpu_device.c,
> which will use the return value. So it should return 'ret' immediately if init_pmu_by_type() failed.
> amdgpu_device_init()
> r = amdgpu_pmu_init(adev);
>
> Fixes: 9c7c85f7ea1f ("drm/amdgpu: add pmu counters")
>
> Signed-off-by: Mao Wenan <maowenan@xxxxxxxxxx>
> ---
> v1->v2: change the subject for this patch; change the indenting when it calls init_pmu_by_type; use the value 'ret' in amdgpu_pmu_init().
> v2->v3: change the subject for this patch; return 'ret' immediately if failed to call init_pmu_by_type().
> v3->v4: delete the indenting for init_pmu_by_type() arguments. The original indenting is correct.
>
> drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c
> index 0e6dba9f60f0..c98cf77a37f3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c
> @@ -254,6 +254,8 @@ int amdgpu_pmu_init(struct amdgpu_device *adev)
> ret = init_pmu_by_type(adev, df_v3_6_attr_groups,
> "DF", "amdgpu_df", PERF_TYPE_AMDGPU_DF,
> DF_V3_6_MAX_COUNTERS);
> + if (ret)
> + return ret;
>
> /* other pmu types go here*/
> break;
> --
> 2.20.1
>