[Bug 62191] Buffer Object corruption with multiple processes

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 21 04:25:48 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=62191

--- Comment #8 from Chris Wilson <chris at chris-wilson.co.uk> ---
Hack du jour to prevent fence migration:

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 19fc21b..52240f8 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2759,7 +2759,10 @@ i915_find_fence_reg(struct drm_device *dev)
     }

     if (avail == NULL)
-        return NULL;
+        return ERR_PTR(-EDEADLK);
+
+    set_need_resched();
+    return ERR_PTR(-EAGAIN);

     /* None available, try to steal one or wait for a user to finish */
     list_for_each_entry(reg, &dev_priv->mm.fence_list, lru_list) {
@@ -2814,8 +2817,8 @@ i915_gem_object_get_fence(struct drm_i915_gem_object
*obj)
         }
     } else if (enable) {
         reg = i915_find_fence_reg(dev);
-        if (reg == NULL)
-            return -EDEADLK;
+        if (IS_ERR(reg))
+            return PTR_ERR(reg);

         if (reg->obj) {
             struct drm_i915_gem_object *old = reg->obj;

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20130321/40449157/attachment.html>


More information about the intel-gfx-bugs mailing list