On Wed, Mar 20, 2019 at 4:33 AM Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > > When building with -Wsometimes-uninitialized, Clang warns: > > drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c:456:2: warning: > variable 'num_of_levels' is used uninitialized whenever '?:' condition > is false [-Wsometimes-uninitialized] > smu_read_smc_arg(smu, &num_of_levels); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/gpu/drm/amd/amdgpu/../powerplay/inc/amdgpu_smu.h:608:3: note: > expanded from macro 'smu_read_smc_arg' > ((smu)->funcs->read_smc_arg? (smu)->funcs->read_smc_arg((smu), (arg)) : 0) > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c:457:7: note: > uninitialized use occurs here > if (!num_of_levels) { > ^~~~~~~~~~~~~ > drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c:456:2: note: remove > the '?:' if its condition is always true > smu_read_smc_arg(smu, &num_of_levels); > ^ > drivers/gpu/drm/amd/amdgpu/../powerplay/inc/amdgpu_smu.h:608:3: note: > expanded from macro 'smu_read_smc_arg' > ((smu)->funcs->read_smc_arg? (smu)->funcs->read_smc_arg((smu), (arg)) : 0) > ^ > drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c:446:27: note: > initialize the variable 'num_of_levels' to silence this warning > uint32_t i, num_of_levels, clk; > ^ > = 0 > 1 warning generated. > > The if statement it mentions as potentially problematic is currently > always true because the read_smc_arg callback is assigned at the > bottom of this file but Clang can't tell that. If the callback were > ever to disappear, num_of_levels would never be initialized. Just > zero initialize it to ensure that the intent behind this code > remains the same. > > Fixes: 870b996f955f ("drm/amd/powerplay: set defalut dpm table for smu") > Link: https://github.com/ClangBuiltLinux/linux/issues/425 > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> Applied. thanks! Alex > --- > drivers/gpu/drm/amd/powerplay/vega20_ppt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c > index 7e9e8ad9a300..41e6f49c9cb6 100644 > --- a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c > +++ b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c > @@ -443,7 +443,7 @@ vega20_set_single_dpm_table(struct smu_context *smu, > PPCLK_e clk_id) > { > int ret = 0; > - uint32_t i, num_of_levels, clk; > + uint32_t i, num_of_levels = 0, clk; > > ret = smu_send_smc_msg_with_param(smu, > SMU_MSG_GetDpmFreqByIndex, > -- > 2.21.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx