diff options
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_range_manager.c')
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_range_manager.c | 10 |
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, |