RE: [PATCH -next v4] drm/amdgpu: return 'ret' immediately if failed in amdgpu_pmu_init
From: Kim, Jonathan
Date: Mon Jun 24 2019 - 13:43:32 EST
Immediate return should be ok since perf registration isn't dependent on gpu hw.
Reviewed-by: Jonathan Kim <Jonathan.Kim@xxxxxxx>
-----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