Use ARRAY_SIZE() for the size calculation of the array. Also move the condition evaulation function out of the for loop. Although, any respectable c-compiler would optimize this and evaluate the function only once outside the loop, but the optimzation engine of gcc is bit brain-dead, and at times needs some hand holding. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> --- drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c index da18f44..718a551 100644 --- a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c @@ -636,10 +636,11 @@ static int cz_smu_populate_firmware_entries(struct pp_smumgr *smumgr) int ret; enum cgs_ucode_id ucode_id; struct cgs_firmware_info info = {0}; + int n = ARRAY_SIZE(firmware_list); cz_smu->driver_buffer_length = 0; - for (i = 0; i < sizeof(firmware_list)/sizeof(*firmware_list); i++) { + for (i = 0; i < n; i++) { firmware_type = cz_translate_firmware_enum_to_arg(smumgr, firmware_list[i]); -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel