From: Dan Carpenter Date: Wed, 23 Jun 2010 11:19:55 +0000 (+0200) Subject: drm/i915: take struct_mutex in i915_dma_cleanup() X-Git-Tag: v2.6.35-rc4~10^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee0c6bfbd602cdad2ab1780061b3b1a9108cbd6c;p=pandora-kernel.git drm/i915: take struct_mutex in i915_dma_cleanup() intel_cleanup_ring_buffer() calls drm_gem_object_unreference() (as opposed to drm_gem_object_unreference_unlocked()) so it needs to be called with "struct_mutex" held. If we don't hold the lock, it triggers a BUG_ON(!mutex_is_locked(&dev->struct_mutex)); I also audited the other places that call intel_cleanup_ring_buffer() and they all hold the lock so they're OK. This was introduced in: 8187a2b70e3 "drm/i915: introduce intel_ring_buffer structure (V2)" and it's a regression from v2.6.34. Addresses: https://bugzilla.kernel.org/show_bug.cgi?id=16247 Signed-off-by: Dan Carpenter Reported-by: Benny Halevy Tested-by: Benny Halevy Signed-off-by: Eric Anholt --- Reading git-diff-tree failed