drm/amdgpu: fix error handling in cz_dpm_hw_fini/cz_dpm_suspend
Need to unlock the mutex on error.
Noticed-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c
index b5c8485..e56f54b 100644
--- a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c
+++ b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c
@@ -1274,8 +1274,6 @@
if (adev->pm.dpm_enabled) {
ret = cz_dpm_disable(adev);
- if (ret)
- return -EINVAL;
adev->pm.dpm.current_ps =
adev->pm.dpm.requested_ps =
@@ -1286,7 +1284,7 @@
mutex_unlock(&adev->pm.mutex);
- return 0;
+ return ret;
}
static int cz_dpm_suspend(struct amdgpu_device *adev)
@@ -1297,8 +1295,6 @@
mutex_lock(&adev->pm.mutex);
ret = cz_dpm_disable(adev);
- if (ret)
- return -EINVAL;
adev->pm.dpm.current_ps =
adev->pm.dpm.requested_ps =
@@ -1307,7 +1303,7 @@
mutex_unlock(&adev->pm.mutex);
}
- return 0;
+ return ret;
}
static int cz_dpm_resume(struct amdgpu_device *adev)