drm/radeon/kms: IB locking dumps out a lockdep ordering issue
[safe/jmp/linux-2.6] / drivers / gpu / drm / radeon / r600_blit_kms.c
index 1ebfd5a..4f0d181 100644 (file)
@@ -538,8 +538,8 @@ int r600_vb_ib_get(struct radeon_device *rdev)
 
 void r600_vb_ib_put(struct radeon_device *rdev)
 {
-       mutex_lock(&rdev->ib_pool.mutex);
        radeon_fence_emit(rdev, rdev->r600_blit.vb_ib->fence);
+       mutex_lock(&rdev->ib_pool.mutex);
        list_add_tail(&rdev->r600_blit.vb_ib->list, &rdev->ib_pool.scheduled_ibs);
        mutex_unlock(&rdev->ib_pool.mutex);
        radeon_ib_free(rdev, &rdev->r600_blit.vb_ib);