drm/i915: Unpin the ringbuffer if we fail to ioremap it.
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 11 Feb 2009 14:26:33 +0000 (14:26 +0000)
committerDave Airlie <airlied@redhat.com>
Fri, 20 Feb 2009 02:21:11 +0000 (12:21 +1000)
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>
drivers/gpu/drm/i915/i915_gem.c

index 0bec4e6d336941ba8690c1ef451cde48992bfede..e5fc664337f3b21a320201d4514632c8bc10f3ea 100644 (file)
@@ -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;
        }