From: Sonny Jiang sonny.jiang@amd.com
Fix crash when disabling dpm.
v2: agd5f: fix coding style, cleanup commit message
Signed-off-by: Sonny Jiang sonny.jiang@amd.com Reviewed-by: Alex Deucher alexander.deucher@amd.com --- drivers/gpu/drm/amd/amdgpu/cz_dpm.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c index e56f54b..adf4dbc 100644 --- a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c @@ -1206,10 +1206,7 @@ static int cz_dpm_enable(struct amdgpu_device *adev)
static int cz_dpm_hw_init(struct amdgpu_device *adev) { - int ret; - - if (!amdgpu_dpm) - return 0; + int ret = 0;
mutex_lock(&adev->pm.mutex);
@@ -1229,6 +1226,12 @@ static int cz_dpm_hw_init(struct amdgpu_device *adev) return ret; }
+ if (!amdgpu_dpm) { + adev->pm.dpm_enabled = false; + mutex_unlock(&adev->pm.mutex); + return ret; + } + /* cz dpm setup asic */ cz_dpm_setup_asic(adev);
@@ -1326,6 +1329,12 @@ static int cz_dpm_resume(struct amdgpu_device *adev) return ret; }
+ if (!amdgpu_dpm) { + adev->pm.dpm_enabled = false; + mutex_unlock(&adev->pm.mutex); + return ret; + } + /* cz dpm setup asic */ cz_dpm_setup_asic(adev);