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>
This commit is contained in:
parent
b118c1e363
commit
808b24d6ed
|
@ -3307,9 +3307,13 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
|
||||||
obj_priv->tiling_mode != I915_TILING_NONE;
|
obj_priv->tiling_mode != I915_TILING_NONE;
|
||||||
|
|
||||||
/* Check fence reg constraints and rebind if necessary */
|
/* Check fence reg constraints and rebind if necessary */
|
||||||
if (need_fence && !i915_gem_object_fence_offset_ok(obj,
|
if (need_fence &&
|
||||||
obj_priv->tiling_mode))
|
!i915_gem_object_fence_offset_ok(obj,
|
||||||
i915_gem_object_unbind(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. */
|
/* Choose the GTT offset for our buffer and put it there. */
|
||||||
ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment);
|
ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment);
|
||||||
|
|
Loading…
Reference in a new issue