diff options
author | Rex Zhu <Rex.Zhu@amd.com> | 2015-12-29 13:56:03 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-02-10 16:21:12 -0500 |
commit | fa9e699105ba4c29e34954fab693b1fc19d70084 (patch) | |
tree | 46383ee0d7692f314978b453dca43966c3d2a038 /drivers/gpu | |
parent | 0f18563aaa22f7dd1712c20973482225aa13942a (diff) |
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 <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 12 |
1 files 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 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; |