[AMD Official Use Only - Internal Distribution Only] Your change below should be able to suppress the compile warning. -arcturus_get_smu_metrics_data(smu, +ret = arcturus_get_smu_metrics_data(smu, METRICS_THROTTLER_STATUS, &throttler_status); +if (ret) { +dev_err(adev->dev, "Could not read from arcturus_get_smu_metrics_data()\n"); +return; +} + Setting *value as 0 may be unnecessary. However anyway this patch is reviewed-by: Evan Quan <evan.quan@xxxxxxx> BR Evan -----Original Message----- From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Tom St Denis Sent: Wednesday, August 12, 2020 8:21 PM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: StDenis, Tom <Tom.StDenis@xxxxxxx> Subject: [PATCH] drm/amd/powerplay: Fix uninitialized warning in arcturus ppt driver Fixes: CC [M] drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_mst_types.o drivers/gpu/drm/amd/amdgpu/../powerplay/arcturus_ppt.c: In function ‘arcturus_log_thermal_throttling_event’: drivers/gpu/drm/amd/amdgpu/../powerplay/arcturus_ppt.c:2223:24: warning: ‘throttler_status’ may be used uninitialized in this function [-Wmaybe-uninitialized] 2223 | if (throttler_status & logging_label[throttler_idx].feature_mask) { by making arcturus_get_smu_metrics_data() assign a default value (of zero) before any possible return point as well as simply error out of arcturus_log_thermal_throttling_event() if it fails. Signed-off-by: Tom St Denis <tom.stdenis@xxxxxxx> --- drivers/gpu/drm/amd/powerplay/arcturus_ppt.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c index 8b1025dc54fd..78f7ec95e4f5 100644 --- a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c +++ b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c @@ -551,6 +551,9 @@ static int arcturus_get_smu_metrics_data(struct smu_context *smu, mutex_lock(&smu->metrics_lock); +// assign default value +*value = 0; + ret = smu_cmn_get_metrics_table_locked(smu, NULL, false); @@ -2208,15 +2211,20 @@ static const struct throttling_logging_label { }; static void arcturus_log_thermal_throttling_event(struct smu_context *smu) { -int throttler_idx, throtting_events = 0, buf_idx = 0; +int throttler_idx, throtting_events = 0, buf_idx = 0, ret; struct amdgpu_device *adev = smu->adev; uint32_t throttler_status; char log_buf[256]; -arcturus_get_smu_metrics_data(smu, +ret = arcturus_get_smu_metrics_data(smu, METRICS_THROTTLER_STATUS, &throttler_status); +if (ret) { +dev_err(adev->dev, "Could not read from arcturus_get_smu_metrics_data()\n"); +return; +} + memset(log_buf, 0, sizeof(log_buf)); for (throttler_idx = 0; throttler_idx < ARRAY_SIZE(logging_label); throttler_idx++) { -- 2.26.2 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Cevan.quan%40amd.com%7C33cba706ddbb41b6f01508d83eba26bd%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637328316549041092&sdata=7BcUmmThbZU8quP0g4t3ajSYe3scCOahigO%2Bye2GHaw%3D&reserved=0 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx