drm/amdgpu: fix error handling in cz_dpm_hw_fini/cz_dpm_suspend
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Apr 2015 15:42:54 +0000 (11:42 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 4 Jun 2015 01:03:22 +0000 (21:03 -0400)
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>
drivers/gpu/drm/amd/amdgpu/cz_dpm.c

index b5c8485..e56f54b 100644 (file)
@@ -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)