| 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); |