From: Ben Skeggs Date: Mon, 6 Jan 2020 02:16:02 +0000 (+1000) Subject: drm/nouveau/ttm: evict other IO mappings when running out of BAR1 space X-Git-Tag: v5.7-rc1~50^2~1^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8a39db76e79ef502f5d2c1865358e9025b5fa38a;p=thirdparty%2Fkernel%2Flinux.git drm/nouveau/ttm: evict other IO mappings when running out of BAR1 space Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index 2b4b21b02e403..c40f127de3d0b 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -1494,8 +1494,13 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *reg) ret = nvif_object_map_handle(&mem->mem.object, &args, argc, &handle, &length); - if (ret != 1) - return ret ? ret : -EINVAL; + if (ret != 1) { + if (WARN_ON(ret == 0)) + return -EINVAL; + if (ret == -ENOSPC) + return -EAGAIN; + return ret; + } reg->bus.base = 0; reg->bus.offset = handle;