From: Eric Anholt Date: Wed, 10 Dec 2008 18:09:41 +0000 (-0800) Subject: drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). X-Git-Tag: v2.6.28.9~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d314fc551bc7989f41765391055f69a70f75973;p=thirdparty%2Fkernel%2Fstable.git drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). commit b117763627ef4d24086801dd5f74c9eb2f487790 upstream. 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: Eric Anholt Signed-off-by: Dave Airlie Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 24fe8c10b4b22..79077c402a98b 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -2036,6 +2036,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data, /* unpin all of our buffers */ for (i = 0; i < pinned; i++) i915_gem_object_unpin(object_list[i]); + pinned = 0; /* evict everyone we can from the aperture */ ret = i915_gem_evict_everything(dev);