From e78adc5a1d34eda80f157e9af477284989a62bdb Mon Sep 17 00:00:00 2001 From: Likun Gao Date: Wed, 25 Dec 2019 17:42:35 +0800 Subject: [PATCH] drm/amdgpu/powerplay: fix NULL pointer issue when SMU disabled Fix smu related NULL pointer issue which occurs when SMU is disabled. Signed-off-by: Likun Gao Reviewed-by: Evan Quan Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c index d04c0ae3cfaab..e51cf5a151e85 100644 --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c @@ -1904,8 +1904,14 @@ int smu_write_watermarks_table(struct smu_context *smu) int smu_set_watermarks_for_clock_ranges(struct smu_context *smu, struct dm_pp_wm_sets_with_clock_ranges_soc15 *clock_ranges) { - struct smu_table *watermarks = &smu->smu_table.tables[SMU_TABLE_WATERMARKS]; - void *table = watermarks->cpu_addr; + struct smu_table *watermarks; + void *table; + + if (!smu->smu_table.tables) + return 0; + + watermarks = &smu->smu_table.tables[SMU_TABLE_WATERMARKS]; + table = watermarks->cpu_addr; mutex_lock(&smu->mutex); @@ -2397,7 +2403,7 @@ bool smu_baco_is_support(struct smu_context *smu) mutex_lock(&smu->mutex); - if (smu->ppt_funcs->baco_is_support) + if (smu->ppt_funcs && smu->ppt_funcs->baco_is_support) ret = smu->ppt_funcs->baco_is_support(smu); mutex_unlock(&smu->mutex); -- 2.30.2