From: Rex Zhu Date: Tue, 29 Dec 2015 05:56:03 +0000 (+0800) Subject: drm/amd/powerplay: add powerplay valid check to avoid null point. X-Git-Tag: v4.6-rc1~12^2~34^2~35 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fa9e699105ba4c29e34954fab693b1fc19d70084;p=uclinux-h8%2Flinux.git 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 --- 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;