Permalink
Browse files

drm: 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 <bskeggs@redhat.com>
  • Loading branch information...
skeggsb committed Oct 21, 2017
1 parent 0f60810 commit 85a5d2807ce0e14d858fb4c5bab89cfbb8a34d9b
Showing with 4 additions and 0 deletions.
  1. +4 −0 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;
}

0 comments on commit 85a5d28

Please sign in to comment.