ソースを参照

drm/i915: Force the domain to CPU on unbinding whilst wedged.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30083
Reported-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson 14 年 前
コミット
812ed49243
1 ファイル変更4 行追加0 行削除
  1. 4 0
      drivers/gpu/drm/i915/i915_gem.c

+ 4 - 0
drivers/gpu/drm/i915/i915_gem.c

@@ -2158,6 +2158,10 @@ i915_gem_object_unbind(struct drm_gem_object *obj)
 	 * should be safe and we need to cleanup or else we might
 	 * should be safe and we need to cleanup or else we might
 	 * cause memory corruption through use-after-free.
 	 * cause memory corruption through use-after-free.
 	 */
 	 */
+	if (ret) {
+		i915_gem_clflush_object(obj);
+		obj->read_domains = obj->write_domain = I915_GEM_DOMAIN_CPU;
+	}
 
 
 	/* release the fence reg _after_ flushing */
 	/* release the fence reg _after_ flushing */
 	if (obj_priv->fence_reg != I915_FENCE_REG_NONE)
 	if (obj_priv->fence_reg != I915_FENCE_REG_NONE)