[PATCH 18/24] drm/radeon: unlock the ring mutex while waiting for the next fence

j.glisse at gmail.com j.glisse at gmail.com
Wed Apr 25 12:03:23 PDT 2012


From: Christian König <deathsimple at vodafone.de>

Fixing just another deadlock problem with gpu reset tests.

Signed-off-by: Christian König <deathsimple at vodafone.de>
---
 drivers/gpu/drm/radeon/radeon_ring.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c
index d7245db..bb5715a 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -275,7 +275,9 @@ int radeon_ring_alloc(struct radeon_device *rdev, struct radeon_ring *ring, unsi
 		if (ndw < ring->ring_free_dw) {
 			break;
 		}
+		mutex_unlock(&ring->mutex);
 		r = radeon_fence_wait_next(rdev, radeon_ring_index(rdev, ring));
+		mutex_lock(&ring->mutex);
 		if (r)
 			return r;
 	}
-- 
1.7.7.6



More information about the dri-devel mailing list