Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2f2429c3 authored by Pan Bian's avatar Pan Bian Committed by Alex Deucher
Browse files

drm/radeon: check return value of radeon_fence_emit



Function radeon_fence_emit() returns -ENOMEM if there is no enough
memory. And in this case, function radeon_ring_unlock_undo() rather than
function radeon_ring_unlock_commit() should be called. However, in
function radeon_test_create_and_emit_fence(), the return value of
radeon_fence_emit() is ignored. This patch adds the check.

Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarPan Bian <bianpan2016@163.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c346fb74
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -298,7 +298,12 @@ static int radeon_test_create_and_emit_fence(struct radeon_device *rdev,
			DRM_ERROR("Failed to lock ring A %d\n", ring->idx);
			return r;
		}
		radeon_fence_emit(rdev, fence, ring->idx);
		r = radeon_fence_emit(rdev, fence, ring->idx);
		if (r) {
			DRM_ERROR("Failed to emit fence\n");
			radeon_ring_unlock_undo(rdev, ring);
			return r;
		}
		radeon_ring_unlock_commit(rdev, ring, false);
	}
	return 0;