From 1f4e36081bd6ff7d7b53a62e0c8db7c0f82edf99 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 26 May 2008 17:41:46 -0700 Subject: [PATCH] [intel-gem] Must hold DRM lock while setting object domain Object domain transfer can involve adding flush ops to the request queue, and so the DRM lock must be held to avoid having the X server smash pointers badly. --- linux-core/i915_gem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/linux-core/i915_gem.c b/linux-core/i915_gem.c index 3ad3f40..5eeabda 100644 --- a/linux-core/i915_gem.c +++ b/linux-core/i915_gem.c @@ -1529,9 +1529,11 @@ i915_gem_set_domain(struct drm_gem_object *obj, BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + drm_idlelock_take (&dev->lock); i915_kernel_lost_context(dev); i915_gem_object_set_domain(obj, read_domains, write_domain); i915_gem_dev_set_domain(obj->dev); + drm_idlelock_release (&dev->lock); return 0; } -- 2.7.4