From 4b7da07fec96efab2edfc92f54af4ee9ef443a3b Mon Sep 17 00:00:00 2001 From: Rex Zhu Date: Tue, 29 Dec 2015 13:56:03 +0800 Subject: [PATCH 0294/1110] drm/amd/powerplay: add powerplay valid check to avoid null point. In case CONFIG_DRM_AMD_POWERPLAY is defined and amdgpu.powerplay=0. some functions in powrplay can also be called by DAL. and the input parameter is *adev. if just check point not NULL was not enough and will lead to NULL point error. Signed-off-by: Rex Zhu Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c index 86e86e2..351ebf2 100644 --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c @@ -789,7 +789,9 @@ int amd_powerplay_get_current_clocks(void *handle, struct amd_pp_simple_clock_info simple_clocks; struct pp_clock_info hw_clocks; - if (handle == NULL || clocks == NULL) + PP_CHECK((struct pp_instance *)handle); + + if (clocks == NULL) return -EINVAL; hwmgr = ((struct pp_instance *)handle)->hwmgr; @@ -831,7 +833,9 @@ int amd_powerplay_get_clock_by_type(void *handle, enum amd_pp_clock_type type, s struct pp_hwmgr *hwmgr; - if (handle == NULL || clocks == NULL) + PP_CHECK((struct pp_instance *)handle); + + if (clocks == NULL) return -EINVAL; hwmgr = ((struct pp_instance *)handle)->hwmgr; @@ -847,7 +851,9 @@ int amd_powerplay_get_display_mode_validation_clocks(void *handle, int result = -1; struct pp_hwmgr *hwmgr; - if (handle == NULL || clocks == NULL) + PP_CHECK((struct pp_instance *)handle); + + if (clocks == NULL) return -EINVAL; hwmgr = ((struct pp_instance *)handle)->hwmgr; -- 2.7.4