]> git.hungrycats.org Git - linux/commitdiff
drm/i915: Don't double-unpin buffers if we take a signal in evict_everything().
authorEric Anholt <eric@anholt.net>
Wed, 10 Dec 2008 18:09:41 +0000 (10:09 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 23 Mar 2009 21:55:30 +0000 (14:55 -0700)
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

index 24fe8c10b4b22c6bac1cfa17d79d55f02dd59179..79077c402a98b7c228d7cfedad22162632da89da 100644 (file)
@@ -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);