v3.17, i915 vs nouveau: possible recursive locking detected
Marcin Ĺšlusarz
marcin.slusarz at gmail.com
Mon Oct 13 11:40:33 PDT 2014
=============================================
[ INFO: possible recursive locking detected ]
3.17.0 #50 Not tainted
---------------------------------------------
Xorg/1170 is trying to acquire lock:
(&dev->struct_mutex){+.+.+.}, at: [<ffffffffa010ae93>] i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
but task is already holding lock:
(&dev->struct_mutex){+.+.+.}, at: [<ffffffffa001cd1a>] drm_gem_object_handle_unreference_unlocked+0xca/0x120 [drm]
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&dev->struct_mutex);
lock(&dev->struct_mutex);
*** DEADLOCK ***
May be due to missing lock nesting notation
1 lock held by Xorg/1170:
#0: (&dev->struct_mutex){+.+.+.}, at: [<ffffffffa001cd1a>] drm_gem_object_handle_unreference_unlocked+0xca/0x120 [drm]
stack backtrace:
CPU: 1 PID: 1170 Comm: Xorg Not tainted 3.17.0 #50
Hardware name: Dell Inc. Inspiron 7720/04M3YM, BIOS A07 08/16/2012
ffffffff82606b80 ffff880136e27b00 ffffffff81707891 ffffffff82606b80
ffff880136e27bb8 ffffffff810e0e4f ffffffff00000000 000202000000c795
0000000000000001 0000000000000000 00000000004ec276 0000000000000300
Call Trace:
[<ffffffff81707891>] dump_stack+0x4e/0x7a
[<ffffffff810e0e4f>] __lock_acquire+0x194f/0x19e0
[<ffffffff810e1631>] lock_acquire+0x91/0x120
[<ffffffffa010ae93>] ? i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
[<ffffffffa010ae93>] ? i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
[<ffffffff8170c014>] mutex_lock_nested+0x54/0x3d0
[<ffffffffa010ae93>] ? i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
[<ffffffff810df03a>] ? mark_held_locks+0x6a/0x90
[<ffffffffa010ae93>] i915_gem_unmap_dma_buf+0x33/0xc0 [i915]
[<ffffffff814c3032>] dma_buf_unmap_attachment+0x22/0x40
[<ffffffffa0034e42>] drm_prime_gem_destroy+0x22/0x40 [drm]
[<ffffffffa0299b5b>] nouveau_gem_object_del+0x3b/0x60 [nouveau]
[<ffffffffa001c7b7>] drm_gem_object_free+0x27/0x30 [drm]
[<ffffffffa001cd34>] drm_gem_object_handle_unreference_unlocked+0xe4/0x120 [drm]
[<ffffffffa001ce2a>] drm_gem_handle_delete+0xba/0x110 [drm]
[<ffffffffa001d495>] drm_gem_close_ioctl+0x25/0x30 [drm]
[<ffffffffa001df0c>] drm_ioctl+0x1ec/0x660 [drm]
[<ffffffff8148e4b2>] ? __pm_runtime_resume+0x32/0x60
[<ffffffff817102fd>] ? _raw_spin_unlock_irqrestore+0x5d/0x70
[<ffffffff810df15d>] ? trace_hardirqs_on_caller+0xfd/0x1c0
[<ffffffff810df22d>] ? trace_hardirqs_on+0xd/0x10
[<ffffffff817102e2>] ? _raw_spin_unlock_irqrestore+0x42/0x70
[<ffffffffa0290bd4>] nouveau_drm_ioctl+0x54/0xc0 [nouveau]
[<ffffffff812072a0>] do_vfs_ioctl+0x300/0x520
[<ffffffff81211fad>] ? __fget+0xad/0xe0
[<ffffffff81211f05>] ? __fget+0x5/0xe0
[<ffffffff81207541>] SyS_ioctl+0x81/0xa0
[<ffffffff81710ed6>] system_call_fastpath+0x1a/0x1f
More information about the dri-devel
mailing list