Calling ttm_bo_cleanup_memtype_use() destroys the TT object
which in turn could result in warnings without this.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/ttm/ttm_bo.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 9e07c3f75156..f73b81c2576e 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -588,7 +588,8 @@ static void ttm_bo_release(struct kref *kref)
                ttm_mem_io_unlock(man);
        }
 
-       if (!dma_resv_test_signaled_rcu(bo->base.resv, true)) {
+       if (!dma_resv_test_signaled_rcu(bo->base.resv, true) ||
+           !dma_resv_trylock(bo->base.resv)) {
                /* The BO is not idle, resurrect it for delayed destroy */
                ttm_bo_flush_all_fences(bo);
                bo->deleted = true;
@@ -621,6 +622,7 @@ static void ttm_bo_release(struct kref *kref)
        spin_unlock(&ttm_bo_glob.lru_lock);
 
        ttm_bo_cleanup_memtype_use(bo);
+       dma_resv_unlock(bo->base.resv);
 
        BUG_ON(bo->mem.mm_node != NULL);
        atomic_dec(&ttm_bo_glob.bo_count);
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to