aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Widawsky <ben@bwidawsk.net>2013-07-17 15:19:02 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-07-17 16:24:51 -0400
commitf7f181843e6c24644b4b71b8631a5ea87de05158 (patch)
tree74af92a69e9f846b21ad7bbd55a713162fbdf1c1
parent5cef07e1628300aeda9ac9dae95a2b406175b3ff (diff)
drm/i915: Free stolen node on failed preallocation
The odds of this happening are *extremely* unlikely. Reported-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_gem_stolen.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 90a618335db9..cb527e7930ad 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -402,7 +402,7 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev,
402 &obj->gtt_space); 402 &obj->gtt_space);
403 if (ret) { 403 if (ret) {
404 DRM_DEBUG_KMS("failed to allocate stolen GTT space\n"); 404 DRM_DEBUG_KMS("failed to allocate stolen GTT space\n");
405 goto unref_out; 405 goto err_out;
406 } 406 }
407 } 407 }
408 408
@@ -413,7 +413,8 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev,
413 413
414 return obj; 414 return obj;
415 415
416unref_out: 416err_out:
417 drm_mm_put_block(stolen);
417 drm_gem_object_unreference(&obj->base); 418 drm_gem_object_unreference(&obj->base);
418 return NULL; 419 return NULL;
419} 420}