summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-02-11 15:26:33 +0100
committerDave Airlie <airlied@redhat.com>2009-02-20 03:21:11 +0100
commit47ed185a777632063d2748f59d14ec6fdeb26f67 (patch)
treeef3f96362d97d88b71d93e5a65cb3cd54814c925
parentdrm/i915: unpin for an invalid memory domain. (diff)
downloadlinux-47ed185a777632063d2748f59d14ec6fdeb26f67.tar.xz
linux-47ed185a777632063d2748f59d14ec6fdeb26f67.zip
drm/i915: Unpin the ringbuffer if we fail to ioremap it.
A missing unpin on the error path. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@linux.ie>
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 0bec4e6d3369..e5fc664337f3 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3159,6 +3159,7 @@ i915_gem_init_ringbuffer(struct drm_device *dev)
if (ring->map.handle == NULL) {
DRM_ERROR("Failed to map ringbuffer.\n");
memset(&dev_priv->ring, 0, sizeof(dev_priv->ring));
+ i915_gem_object_unpin(obj);
drm_gem_object_unreference(obj);
return -EINVAL;
}