From fa9e699105ba4c29e34954fab693b1fc19d70084 Mon Sep 17 00:00:00 2001 From: Rex Zhu Date: Tue, 29 Dec 2015 13:56:03 +0800 Subject: 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(-) (limited to 'drivers/gpu') diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c index 9b7c2862c16e..2ee4190f8c89 100644 --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c @@ -786,7 +786,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; @@ -828,7 +830,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; @@ -844,7 +848,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; -- cgit v1.2.3