From: Felix Kuehling Date: Wed, 26 Jun 2019 06:32:43 +0000 (-0400) Subject: drm/ttm: return -EBUSY if waiting for busy BO fails X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f6319596535f157ce95504b193e0bfc3da7119e6;p=openwrt%2Fstaging%2Fblogic.git drm/ttm: return -EBUSY if waiting for busy BO fails Returning -EAGAIN prevents ttm_bo_mem_space from trying alternate placements and can lead to live-locks in amdgpu_cs, retrying indefinitely and never succeeding. Fixes: d367bd2a5e2b12 ("drm/ttm: fix busy memory to fail other user v10") Signed-off-by: Felix Kuehling Reviewed-by: Christian König Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 6953dd264172..a7fd5a4955c9 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -827,7 +827,7 @@ static int ttm_mem_evict_wait_busy(struct ttm_buffer_object *busy_bo, if (!r) reservation_object_unlock(busy_bo->resv); - return r == -EDEADLK ? -EAGAIN : r; + return r == -EDEADLK ? -EBUSY : r; } static int ttm_mem_evict_first(struct ttm_bo_device *bdev,