diff options
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_execbuf_util.c')
| -rw-r--r-- | drivers/gpu/drm/ttm/ttm_execbuf_util.c | 10 | 
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_execbuf_util.c b/drivers/gpu/drm/ttm/ttm_execbuf_util.c index 1937069432c..cd9e4523dc5 100644 --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c @@ -185,10 +185,7 @@ retry_this_bo:  			ttm_eu_backoff_reservation_locked(list);  			spin_unlock(&glob->lru_lock);  			ttm_eu_list_ref_sub(list); -			ret = ttm_bo_wait_cpu(bo, false); -			if (ret) -				return ret; -			goto retry; +			return -EBUSY;  		}  	} @@ -216,19 +213,18 @@ void ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj)  	driver = bdev->driver;  	glob = bo->glob; -	spin_lock(&bdev->fence_lock);  	spin_lock(&glob->lru_lock); +	spin_lock(&bdev->fence_lock);  	list_for_each_entry(entry, list, head) {  		bo = entry->bo;  		entry->old_sync_obj = bo->sync_obj;  		bo->sync_obj = driver->sync_obj_ref(sync_obj); -		bo->sync_obj_arg = entry->new_sync_obj_arg;  		ttm_bo_unreserve_locked(bo);  		entry->reserved = false;  	} -	spin_unlock(&glob->lru_lock);  	spin_unlock(&bdev->fence_lock); +	spin_unlock(&glob->lru_lock);  	list_for_each_entry(entry, list, head) {  		if (entry->old_sync_obj)  |