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: 8187a2b7 "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 <error27@gmail.com> Reported-by:
Benny Halevy <bhalevy@panasas.com> Tested-by:
Benny Halevy <bhalevy@panasas.com> Signed-off-by:
Eric Anholt <eric@anholt.net>
parent
2d1c9752
Please register or sign in to comment