blob: 93a0fae6a54fc756d6b3f32be9e85f6cbf220d99 [file] [log] [blame]
From b117763627ef4d24086801dd5f74c9eb2f487790 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 10 Dec 2008 10:09:41 -0800
Subject: drm/i915: Don't double-unpin buffers if we take a signal in evict_everything().
From: Eric Anholt <eric@anholt.net>
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 <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/gpu/drm/i915/i915_gem.c | 1 +
1 file changed, 1 insertion(+)
--- 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 *d
/* 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);