[PATCH 46/88] drm/amdgpu: fix error handling in cz_dpm_hw_fini/cz_dpm_suspend

Alex Deucher alexdeucher at gmail.com
Tue May 26 20:19:45 PDT 2015


Need to unlock the mutex on error.

Noticed-by: Dan Carpenter <dan.carpenter at oracle.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/cz_dpm.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

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 @@ static int cz_dpm_hw_fini(struct amdgpu_device *adev)
 
 	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 @@ static int cz_dpm_hw_fini(struct amdgpu_device *adev)
 
 	mutex_unlock(&adev->pm.mutex);
 
-	return 0;
+	return ret;
 }
 
 static int cz_dpm_suspend(struct amdgpu_device *adev)
@@ -1297,8 +1295,6 @@ static int cz_dpm_suspend(struct amdgpu_device *adev)
 		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 @@ static int cz_dpm_suspend(struct amdgpu_device *adev)
 		mutex_unlock(&adev->pm.mutex);
 	}
 
-	return 0;
+	return ret;
 }
 
 static int cz_dpm_resume(struct amdgpu_device *adev)
-- 
1.8.3.1



More information about the dri-devel mailing list