Commit 12342624 authored by Jerome Glisse's avatar Jerome Glisse Committed by Ben Hutchings

drm/radeon: fix bo creation retry path

commit d1c7871d upstream.

Retry label was at wrong place in function leading to memory
leak.
Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 3a928a5e
...@@ -117,7 +117,6 @@ int radeon_bo_create(struct radeon_device *rdev, ...@@ -117,7 +117,6 @@ int radeon_bo_create(struct radeon_device *rdev,
return -ENOMEM; return -ENOMEM;
} }
retry:
bo = kzalloc(sizeof(struct radeon_bo), GFP_KERNEL); bo = kzalloc(sizeof(struct radeon_bo), GFP_KERNEL);
if (bo == NULL) if (bo == NULL)
return -ENOMEM; return -ENOMEM;
...@@ -130,6 +129,8 @@ int radeon_bo_create(struct radeon_device *rdev, ...@@ -130,6 +129,8 @@ int radeon_bo_create(struct radeon_device *rdev,
bo->gem_base.driver_private = NULL; bo->gem_base.driver_private = NULL;
bo->surface_reg = -1; bo->surface_reg = -1;
INIT_LIST_HEAD(&bo->list); INIT_LIST_HEAD(&bo->list);
retry:
radeon_ttm_placement_from_domain(bo, domain); radeon_ttm_placement_from_domain(bo, domain);
/* Kernel allocation are uninterruptible */ /* Kernel allocation are uninterruptible */
mutex_lock(&rdev->vram_mutex); mutex_lock(&rdev->vram_mutex);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment