diff --git a/sys/dev/drm/amd/powerplay/hwmgr/smu_helper.c b/sys/dev/drm/amd/powerplay/hwmgr/smu_helper.c --- a/sys/dev/drm/amd/powerplay/hwmgr/smu_helper.c +++ b/sys/dev/drm/amd/powerplay/hwmgr/smu_helper.c @@ -386,14 +386,14 @@ struct phm_ppt_v1_voltage_lookup_table *lookup_table, uint16_t voltage) { uint8_t count = (uint8_t) (lookup_table->count); - uint8_t i; + uint32_t i; PP_ASSERT_WITH_CODE((NULL != lookup_table), "Lookup Table empty.", return 0); PP_ASSERT_WITH_CODE((0 != count), "Lookup Table empty.", return 0); - for (i = 0; i < lookup_table->count; i++) { + for (i = 0; i < lookup_table->count && i < PP_ATOMCTRL_MAX_VOLTAGE_ENTRIES; i++) { /* find first voltage equal or bigger than requested */ if (lookup_table->entries[i].us_vdd >= voltage) return i;