aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-09-14 11:50:25 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-09-17 17:43:28 -0400
commit4960aaca14010b9ff92e5726dd178cbd6805d412 (patch)
tree7795fc2e101ff49d9ad99386c1d6a8d0c1263bae /drivers/gpu
parentc1a1cdc159e211f045290f61ac95092e9708f5bc (diff)
drm/i915: Add buffer to inactive list immediately during fault
If we failed to set the domain, the buffer was no longer being tracked on any list. Cc: stable@kernel.org Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index f0f6f668a61e..441088b37d9f 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1160,14 +1160,13 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1160 mutex_unlock(&dev->struct_mutex); 1160 mutex_unlock(&dev->struct_mutex);
1161 return VM_FAULT_SIGBUS; 1161 return VM_FAULT_SIGBUS;
1162 } 1162 }
1163 list_add_tail(&obj_priv->list, &dev_priv->mm.inactive_list);
1163 1164
1164 ret = i915_gem_object_set_to_gtt_domain(obj, write); 1165 ret = i915_gem_object_set_to_gtt_domain(obj, write);
1165 if (ret) { 1166 if (ret) {
1166 mutex_unlock(&dev->struct_mutex); 1167 mutex_unlock(&dev->struct_mutex);
1167 return VM_FAULT_SIGBUS; 1168 return VM_FAULT_SIGBUS;
1168 } 1169 }
1169
1170 list_add_tail(&obj_priv->list, &dev_priv->mm.inactive_list);
1171 } 1170 }
1172 1171
1173 /* Need a new fence register? */ 1172 /* Need a new fence register? */