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:37:21 +0000 (14:37 +0100)
linux-core/drm_bo_move.c

index 2aba327..971b4af 100644 (file)
@@ -303,7 +303,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);