drm/ttm: use reservation_object_trylock in ttm_bo_individualize_resv v2
authorChristian König <christian.koenig@amd.com>
Thu, 17 Aug 2017 10:23:51 +0000 (12:23 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 18 Aug 2017 16:02:58 +0000 (12:02 -0400)
Fixes a false positive from might_sleep(). The reservation object is freshly
initialized, so nobody else can hold the mutex but the function is
called from atomic context.

v2: Correctly invert the check as well.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/ttm/ttm_bo.c

index 58e7fce..cba11f1 100644 (file)
@@ -403,7 +403,7 @@ static int ttm_bo_individualize_resv(struct ttm_buffer_object *bo)
                return 0;
 
        reservation_object_init(&bo->ttm_resv);
-       BUG_ON(reservation_object_lock(&bo->ttm_resv, NULL));
+       BUG_ON(!reservation_object_trylock(&bo->ttm_resv));
 
        r = reservation_object_copy_fences(&bo->ttm_resv, bo->resv);
        if (r) {