OSDN Git Service

drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's
authorDeepak Rawat <drawat@vmware.com>
Thu, 28 Feb 2019 18:29:54 +0000 (10:29 -0800)
committerThomas Hellstrom <thellstrom@vmware.com>
Wed, 20 Mar 2019 06:53:29 +0000 (07:53 +0100)
If it's not a system error and get_node implementation accommodate the
buffer object then it should return 0 with memm::mm_node set to NULL.

v2: Test for id != -ENOMEM instead of id == -ENOSPC.

Cc: <stable@vger.kernel.org>
Fixes: 4eb085e42fde ("drm/vmwgfx: Convert to new IDA API")
Signed-off-by: Deepak Rawat <drawat@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c

index b93c558..7da752c 100644 (file)
@@ -57,7 +57,7 @@ static int vmw_gmrid_man_get_node(struct ttm_mem_type_manager *man,
 
        id = ida_alloc_max(&gman->gmr_ida, gman->max_gmr_ids - 1, GFP_KERNEL);
        if (id < 0)
-               return id;
+               return (id != -ENOMEM ? 0 : id);
 
        spin_lock(&gman->lock);