[patch] i915: take struct_mutex in i915_dma_cleanup()
Jesse Barnes
jbarnes at virtuousgeek.org
Wed Jun 23 08:47:18 PDT 2010
On Wed, 23 Jun 2010 13:19:55 +0200
Dan Carpenter <error27 at gmail.com> wrote:
> 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 <error27 at gmail.com>
> Reported-by: Benny Halevy <bhalevy at panasas.com>
> Tested-by: Benny Halevy <bhalevy at panasas.com>
Reminds me, Gordon can you add module unload testing to your set of
basic daily tests? To unload you need to unbind the fbcon interface
first, my script is like this:
echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod i915
rmmod drm_kms_helper
rmmod drm
modprobe i915
echo 1 > /sys/class/vtconsole/vtcon1/bind
If unload and re-load doesn't work please file a bug and see if you can
bisect it.
Thanks,
--
Jesse Barnes, Intel Open Source Technology Center
More information about the dri-devel
mailing list