diff options
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_resource.c')
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c index 3025bfc001a1..a7c30e567f09 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c @@ -461,7 +461,8 @@ vmw_resource_check_buffer(struct ww_acquire_ctx *ticket,  	}  	INIT_LIST_HEAD(&val_list); -	val_buf->bo = ttm_bo_reference(&res->backup->base); +	ttm_bo_get(&res->backup->base); +	val_buf->bo = &res->backup->base;  	val_buf->num_shared = 0;  	list_add_tail(&val_buf->head, &val_list);  	ret = ttm_eu_reserve_buffers(ticket, &val_list, interruptible, NULL); @@ -484,7 +485,8 @@ vmw_resource_check_buffer(struct ww_acquire_ctx *ticket,  out_no_validate:  	ttm_eu_backoff_reservation(ticket, &val_list);  out_no_reserve: -	ttm_bo_unref(&val_buf->bo); +	ttm_bo_put(val_buf->bo); +	val_buf->bo = NULL;  	if (backup_dirty)  		vmw_bo_unreference(&res->backup); @@ -544,7 +546,8 @@ vmw_resource_backoff_reservation(struct ww_acquire_ctx *ticket,  	INIT_LIST_HEAD(&val_list);  	list_add_tail(&val_buf->head, &val_list);  	ttm_eu_backoff_reservation(ticket, &val_list); -	ttm_bo_unref(&val_buf->bo); +	ttm_bo_put(val_buf->bo); +	val_buf->bo = NULL;  }  /** | 
