drm: fix dead lock in drm_buffer_object_transfer
authorJerome Glisse <glisse@freedesktop.org>
Mon, 19 Nov 2007 13:37:21 +0000 (14:37 +0100)
committerJerome Glisse <glisse@freedesktop.org>
Mon, 19 Nov 2007 13:39:14 +0000 (14:39 +0100)
linux-core/drm_bo_move.c

index 26df46d..97946b3 100644 (file)
@@ -304,7 +304,7 @@ int drm_buffer_object_transfer(struct drm_buffer_object *bo,
        INIT_LIST_HEAD(&fbo->p_mm_list);
 #endif
 
-       drm_fence_reference_unlocked(&fbo->fence, bo->fence);
+       fbo->fence = drm_fence_reference_locked(bo->fence);
        fbo->pinned_node = NULL;
        fbo->mem.mm_node->private = (void *)fbo;
        atomic_set(&fbo->usage, 1);