drm/ttm: move unlocking out of ttm_bo_cleanup_memtype_use
authorChristian König <christian.koenig@amd.com>
Wed, 8 Nov 2017 11:37:35 +0000 (12:37 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 6 Dec 2017 17:47:19 +0000 (12:47 -0500)
Needed for the next patch and makes the code quite a bit easier to
understand.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/ttm/ttm_bo.c

index c088703777e26221f1522bfe8ab307f5d469e1e8..9905cf41cba6f0f51df9d3cff89d39a5f57faae4 100644 (file)
@@ -390,8 +390,6 @@ static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo)
        ttm_tt_destroy(bo->ttm);
        bo->ttm = NULL;
        ttm_bo_mem_put(bo, &bo->mem);
-
-       ww_mutex_unlock (&bo->resv->lock);
 }
 
 static int ttm_bo_individualize_resv(struct ttm_buffer_object *bo)
@@ -457,6 +455,7 @@ static void ttm_bo_cleanup_refs_or_queue(struct ttm_buffer_object *bo)
                                reservation_object_unlock(&bo->ttm_resv);
 
                        ttm_bo_cleanup_memtype_use(bo);
+                       reservation_object_unlock(bo->resv);
                        return;
                }
 
@@ -559,6 +558,7 @@ static int ttm_bo_cleanup_refs_and_unlock(struct ttm_buffer_object *bo,
 
        spin_unlock(&glob->lru_lock);
        ttm_bo_cleanup_memtype_use(bo);
+       reservation_object_unlock(bo->resv);
 
        return 0;
 }