From: Ben Skeggs Date: Tue, 31 Oct 2017 17:56:19 +0000 (+1000) Subject: drm/nouveau: fix handling of GART OOM on pre-NV50 chipsets X-Git-Tag: v4.15-rc1~90^2~14^2~144 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bbb10e639819e6a14e487ce14b3d8575767573b8;p=thirdparty%2Fkernel%2Flinux.git drm/nouveau: fix handling of GART OOM on pre-NV50 chipsets The correct thing to do on OOM is to return 0 and set mm_node to NULL, otherwise TTM will assume some other kind of error, and not attempt to evict other buffers to make space. Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c index b0ad7fcefcf5b..ffc3458c89de8 100644 --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c @@ -243,6 +243,10 @@ nv04_gart_manager_new(struct ttm_mem_type_manager *man, ret = nvkm_vm_get(man->priv, reg->num_pages << 12, node->page_shift, NV_MEM_ACCESS_RW, &node->vma[0]); if (ret) { + if (ret == -ENOSPC) { + reg->mm_node = NULL; + ret = 0; + } kfree(node); return ret; }