Commit aa4c8b36 authored by Maarten Lankhorst's avatar Maarten Lankhorst Committed by Christian König

drm/radeon: drm/radeon: add missing radeon_semaphore_free to error path

It would appear this bug has been copy/pasted many times without being noticed.
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e9d14aeb
...@@ -3702,6 +3702,7 @@ int cik_copy_cpdma(struct radeon_device *rdev, ...@@ -3702,6 +3702,7 @@ int cik_copy_cpdma(struct radeon_device *rdev,
r = radeon_fence_emit(rdev, fence, ring->idx); r = radeon_fence_emit(rdev, fence, ring->idx);
if (r) { if (r) {
radeon_ring_unlock_undo(rdev, ring); radeon_ring_unlock_undo(rdev, ring);
radeon_semaphore_free(rdev, &sem, NULL);
return r; return r;
} }
......
...@@ -562,6 +562,7 @@ int cik_copy_dma(struct radeon_device *rdev, ...@@ -562,6 +562,7 @@ int cik_copy_dma(struct radeon_device *rdev,
r = radeon_fence_emit(rdev, fence, ring->idx); r = radeon_fence_emit(rdev, fence, ring->idx);
if (r) { if (r) {
radeon_ring_unlock_undo(rdev, ring); radeon_ring_unlock_undo(rdev, ring);
radeon_semaphore_free(rdev, &sem, NULL);
return r; return r;
} }
......
...@@ -151,6 +151,7 @@ int evergreen_copy_dma(struct radeon_device *rdev, ...@@ -151,6 +151,7 @@ int evergreen_copy_dma(struct radeon_device *rdev,
r = radeon_fence_emit(rdev, fence, ring->idx); r = radeon_fence_emit(rdev, fence, ring->idx);
if (r) { if (r) {
radeon_ring_unlock_undo(rdev, ring); radeon_ring_unlock_undo(rdev, ring);
radeon_semaphore_free(rdev, &sem, NULL);
return r; return r;
} }
......
...@@ -2839,6 +2839,7 @@ int r600_copy_cpdma(struct radeon_device *rdev, ...@@ -2839,6 +2839,7 @@ int r600_copy_cpdma(struct radeon_device *rdev,
r = radeon_fence_emit(rdev, fence, ring->idx); r = radeon_fence_emit(rdev, fence, ring->idx);
if (r) { if (r) {
radeon_ring_unlock_undo(rdev, ring); radeon_ring_unlock_undo(rdev, ring);
radeon_semaphore_free(rdev, &sem, NULL);
return r; return r;
} }
......
...@@ -489,6 +489,7 @@ int r600_copy_dma(struct radeon_device *rdev, ...@@ -489,6 +489,7 @@ int r600_copy_dma(struct radeon_device *rdev,
r = radeon_fence_emit(rdev, fence, ring->idx); r = radeon_fence_emit(rdev, fence, ring->idx);
if (r) { if (r) {
radeon_ring_unlock_undo(rdev, ring); radeon_ring_unlock_undo(rdev, ring);
radeon_semaphore_free(rdev, &sem, NULL);
return r; return r;
} }
......
...@@ -86,6 +86,7 @@ int rv770_copy_dma(struct radeon_device *rdev, ...@@ -86,6 +86,7 @@ int rv770_copy_dma(struct radeon_device *rdev,
r = radeon_fence_emit(rdev, fence, ring->idx); r = radeon_fence_emit(rdev, fence, ring->idx);
if (r) { if (r) {
radeon_ring_unlock_undo(rdev, ring); radeon_ring_unlock_undo(rdev, ring);
radeon_semaphore_free(rdev, &sem, NULL);
return r; return r;
} }
......
...@@ -213,6 +213,7 @@ int si_copy_dma(struct radeon_device *rdev, ...@@ -213,6 +213,7 @@ int si_copy_dma(struct radeon_device *rdev,
r = radeon_fence_emit(rdev, fence, ring->idx); r = radeon_fence_emit(rdev, fence, ring->idx);
if (r) { if (r) {
radeon_ring_unlock_undo(rdev, ring); radeon_ring_unlock_undo(rdev, ring);
radeon_semaphore_free(rdev, &sem, NULL);
return r; return r;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment