DF-3650 / fix.diff
--- a/sys/dev/drm/radeon/ci_dpm.c +++ b/sys/dev/drm/radeon/ci_dpm.c @@ -5653,6 +5653,8 @@ static int ci_parse_power_table(struct radeon_device *rdev) for (i = 0; i < RADEON_MAX_VCE_LEVELS; i++) { u32 sclk, mclk; clock_array_index = rdev->pm.dpm.vce_states[i].clk_idx; + if (clock_array_index >= clock_info_array->ucNumEntries) + continue; clock_info = (union pplib_clock_info *) &clock_info_array->clockInfo[clock_array_index * clock_info_array->ucEntrySize]; sclk = le16_to_cpu(clock_info->ci.usEngineClockLow); |