summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/ttm/ttm_range_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_range_manager.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_range_manager.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_range_manager.c b/drivers/gpu/drm/ttm/ttm_range_manager.c
index c32e1aee2481..03395386e8a7 100644
--- a/drivers/gpu/drm/ttm/ttm_range_manager.c
+++ b/drivers/gpu/drm/ttm/ttm_range_manager.c
@@ -88,12 +88,14 @@ static int ttm_range_man_alloc(struct ttm_resource_manager *man,
place->fpfn, lpfn, mode);
spin_unlock(&rman->lock);
- if (unlikely(ret))
+ if (unlikely(ret)) {
kfree(node);
- else
- node->base.start = node->mm_nodes[0].start;
+ return ret;
+ }
- return ret;
+ node->base.start = node->mm_nodes[0].start;
+ *res = &node->base;
+ return 0;
}
static void ttm_range_man_free(struct ttm_resource_manager *man,