[PATCH] drm/ttm: use reservation_object_trylock in ttm_bo_individualize_resv v2

Deucher, Alexander Alexander.Deucher at amd.com
Fri Aug 18 14:47:12 UTC 2017


> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Christian König
> Sent: Friday, August 18, 2017 9:32 AM
> To: dri-devel at lists.freedesktop.org; amd-gfx at lists.freedesktop.org
> Subject: [PATCH] drm/ttm: use reservation_object_trylock in
> ttm_bo_individualize_resv v2
> 
> From: Christian König <christian.koenig at amd.com>
> 
> 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 at amd.com>

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  drivers/gpu/drm/ttm/ttm_bo.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index 58e7fce..cba11f1 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -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) {
> --
> 2.7.4
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the dri-devel mailing list