drm/i915/execbuffer: On error, starting unwinding from the previous object

As the error occurred on the current object, it means that its state was
not changed and so it should be excluded from the unwind.

Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2010-11-28 15:31:02 +00:00
parent 432e58edc9
commit 602606a472

View file

@ -530,6 +530,9 @@ i915_gem_execbuffer_reserve(struct drm_device *dev,
} while (1);
err:
obj = list_entry(obj->exec_list.prev,
struct drm_i915_gem_object,
exec_list);
while (objects != &obj->exec_list) {
if (obj->gtt_space)
i915_gem_object_unpin(obj);