For the evict fail case, the evict error should be returned. v2: Consider ENOENT case.
Signed-off-by: Emily Deng <[email protected]> --- drivers/gpu/drm/ttm/ttm_resource.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_resource.c b/drivers/gpu/drm/ttm/ttm_resource.c index 097716bd248a..abf104ae9d35 100644 --- a/drivers/gpu/drm/ttm/ttm_resource.c +++ b/drivers/gpu/drm/ttm/ttm_resource.c @@ -511,12 +511,12 @@ int ttm_resource_manager_evict_all(struct ttm_device *bdev, .force_alloc = true }; struct dma_fence *fence; - int ret; + int ret, evict_ret = 0; do { - ret = ttm_bo_evict_first(bdev, man, &ctx); + evict_ret = ttm_bo_evict_first(bdev, man, &ctx); cond_resched(); - } while (!ret); + } while (!evict_ret); spin_lock(&man->move_lock); fence = dma_fence_get(man->move); @@ -529,7 +529,7 @@ int ttm_resource_manager_evict_all(struct ttm_device *bdev, return ret; } - return 0; + return (evict_ret == -ENOENT) ? 0 : evict_ret; } EXPORT_SYMBOL(ttm_resource_manager_evict_all); -- 2.34.1
