diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-05-27 14:18:15 +0200 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-05-28 19:42:52 +0200 |
commit | 808b24d6ed8b155aac17007788390ebfde263f30 (patch) | |
tree | e7c848fccd7bfdbf837f3814c537f46a9086051f | |
parent | drm/i915: Avoid nesting of domain changes when setting display plane (diff) | |
download | linux-808b24d6ed8b155aac17007788390ebfde263f30.tar.xz linux-808b24d6ed8b155aac17007788390ebfde263f30.zip |
drm/i915: Propagate error from unbinding an unfenceable object.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 1c65f0b591fc..6425c2a4b11f 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3307,9 +3307,13 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, obj_priv->tiling_mode != I915_TILING_NONE; /* Check fence reg constraints and rebind if necessary */ - if (need_fence && !i915_gem_object_fence_offset_ok(obj, - obj_priv->tiling_mode)) - i915_gem_object_unbind(obj); + if (need_fence && + !i915_gem_object_fence_offset_ok(obj, + obj_priv->tiling_mode)) { + ret = i915_gem_object_unbind(obj); + if (ret) + return ret; + } /* Choose the GTT offset for our buffer and put it there. */ ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment); |