summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon
diff options
context:
space:
mode:
authorChristian König <deathsimple@vodafone.de>2012-05-02 15:11:22 +0200
committerDave Airlie <airlied@redhat.com>2012-05-03 09:16:37 +0100
commit67e3c7876878264a81afe0dceb8ac653af8387be (patch)
tree1b089a8ba8235b9014e354d457178e48d27f9e62 /drivers/gpu/drm/radeon
parent3368ff0cf483005bd327372049f2bf43dc63730a (diff)
downloadlinux-3.10-67e3c7876878264a81afe0dceb8ac653af8387be.tar.gz
linux-3.10-67e3c7876878264a81afe0dceb8ac653af8387be.tar.bz2
linux-3.10-67e3c7876878264a81afe0dceb8ac653af8387be.zip
drm/radeon: unlock the ring mutex while waiting for the next fence
Fixing just another deadlock problem with gpu reset tests. Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon')
-rw-r--r--drivers/gpu/drm/radeon/radeon_ring.c2
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 08e1578f55f..407d90aaa0c 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -346,7 +346,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;
}