From: Keith Packard Date: Tue, 27 May 2008 00:41:46 +0000 (-0700) Subject: [intel-gem] Must hold DRM lock while setting object domain X-Git-Tag: libdrm-2.4.0~88^2~104 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1f4e36081bd6ff7d7b53a62e0c8db7c0f82edf99;p=platform%2Fupstream%2Flibdrm.git [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. --- 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; }