Commit b1177636 authored by Eric Anholt's avatar Eric Anholt Committed by Dave Airlie

drm/i915: Don't double-unpin buffers if we take a signal in evict_everything().

We haven't seen this in practice, but it was visible when looking at a bug
report from when i915_gem_evict_everything() was broken and would always
return error.
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
parent e7da40f0
...@@ -2498,6 +2498,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data, ...@@ -2498,6 +2498,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
/* unpin all of our buffers */ /* unpin all of our buffers */
for (i = 0; i < pinned; i++) for (i = 0; i < pinned; i++)
i915_gem_object_unpin(object_list[i]); i915_gem_object_unpin(object_list[i]);
pinned = 0;
/* evict everyone we can from the aperture */ /* evict everyone we can from the aperture */
ret = i915_gem_evict_everything(dev); ret = i915_gem_evict_everything(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment