On Thu, Jul 30, 2015 at 04:40:02PM +0200, Daniel Vetter wrote:
> I have 4 patches in git://people.freedesktop.org/~danvet/drm fixes-stuff
> but I couldn't test them yet since no dp mst here and I didn't find
> anything that would ship faster than 1-2 weeks yet. I'll try to get some
> other people here to test it meanwhile too.
I've tried pulling in your patches from fixes-stuff, onto Linus's tree
(without Linus's fix), and the good news is that I'm no longer
crashing on boot.
The *bad* news is that (a) it breaks the external monitor attached to
the docking station completely (this was working with Linus's patch),
and (b) it's triggering a LOCKDEP failure.
So even though Linus's patch wasn't supposed to work, I think I'm
going to back to it....
- Ted
Jul 30 11:46:49 closure kernel: [ 4.221951]
Jul 30 11:46:49 closure kernel: [ 4.221954]
======================================================
Jul 30 11:46:49 closure kernel: [ 4.221957] [ INFO: possible circular
locking dependency detected ]
Jul 30 11:46:49 closure kernel: [ 4.221960] 4.2.0-rc4-13906-g5f1b75cd #16
Not tainted
Jul 30 11:46:49 closure kernel: [ 4.221963]
-------------------------------------------------------
Jul 30 11:46:49 closure kernel: [ 4.221966] modprobe/503 is trying to
acquire lock:
Jul 30 11:46:49 closure kernel: [ 4.221968] (init_mutex){+.+.+.}, at:
[<ffffffff8138b380>] acpi_video_get_backlight_type+0x17/0x164
Jul 30 11:46:49 closure kernel: [ 4.221977]
Jul 30 11:46:49 closure kernel: [ 4.221977] but task is already holding lock:
Jul 30 11:46:49 closure kernel: [ 4.221979]
(&(&backlight_notifier)->rwsem){++++..}, at: [<ffffffff8109a7c9>]
__blocking_notifier_call_chain+0x37/0x69
Jul 30 11:46:49 closure kernel: [ 4.221987]
Jul 30 11:46:49 closure kernel: [ 4.221987] which lock already depends on
the new lock.
Jul 30 11:46:49 closure kernel: [ 4.221987]
Jul 30 11:46:49 closure kernel: [ 4.221990]
Jul 30 11:46:49 closure kernel: [ 4.221990] the existing dependency chain
(in reverse order) is:
Jul 30 11:46:49 closure kernel: [ 4.221995]
Jul 30 11:46:49 closure kernel: [ 4.221995] -> #1
(&(&backlight_notifier)->rwsem){++++..}:
Jul 30 11:46:49 closure kernel: [ 4.222001] [<ffffffff810bbe08>]
lock_acquire+0x104/0x18b
Jul 30 11:46:49 closure kernel: [ 4.222007] [<ffffffff8161f1db>]
down_write+0x46/0x8a
Jul 30 11:46:49 closure kernel: [ 4.222012] [<ffffffff8109a6c0>]
blocking_notifier_chain_register+0x36/0x57
Jul 30 11:46:49 closure kernel: [ 4.222017] [<ffffffff8134eb4e>]
backlight_register_notifier+0x18/0x1a
Jul 30 11:46:49 closure kernel: [ 4.222022] [<ffffffff8138b463>]
acpi_video_get_backlight_type+0xfa/0x164
Jul 30 11:46:49 closure kernel: [ 4.222028] [<ffffffffc03a1e45>]
0xffffffffc03a1e45
Jul 30 11:46:49 closure audispd: No plugins found, exiting
Jul 30 11:46:49 closure kernel: [ 4.222032] [<ffffffffc03a28a8>]
0xffffffffc03a28a8
Jul 30 11:46:49 closure kernel: [ 4.222036] [<ffffffff810003c7>]
do_one_initcall+0x19a/0x1af
Jul 30 11:46:49 closure kernel: [ 4.222042] [<ffffffff81619985>]
do_init_module+0x60/0x1e3
Jul 30 11:46:49 closure kernel: [ 4.222047] [<ffffffff810f0a5b>]
load_module+0x1c42/0x2059
Jul 30 11:46:49 closure kernel: [ 4.222052] [<ffffffff810f1046>]
SyS_finit_module+0x85/0x92
Jul 30 11:46:49 closure kernel: [ 4.222056] [<ffffffff8162109b>]
entry_SYSCALL_64_fastpath+0x16/0x73
Jul 30 11:46:49 closure kernel: [ 4.222060]
Jul 30 11:46:49 closure kernel: [ 4.222060] -> #0 (init_mutex){+.+.+.}:
Jul 30 11:46:49 closure kernel: [ 4.222065] [<ffffffff810bb77a>]
__lock_acquire+0xc55/0xf54
Jul 30 11:46:49 closure kernel: [ 4.222070] [<ffffffff810bbe08>]
lock_acquire+0x104/0x18b
Jul 30 11:46:49 closure kernel: [ 4.222074] [<ffffffff8161d83a>]
mutex_lock_nested+0x70/0x391
Jul 30 11:46:49 closure kernel: [ 4.222078] [<ffffffff8138b380>]
acpi_video_get_backlight_type+0x17/0x164
Jul 30 11:46:49 closure kernel: [ 4.222083] [<ffffffff8138b505>]
acpi_video_backlight_notify+0x19/0x2f
Jul 30 11:46:49 closure kernel: [ 4.222088] [<ffffffff8109a442>]
notifier_call_chain+0x4c/0x71
Jul 30 11:46:49 closure kernel: [ 4.222092] [<ffffffff8109a7e2>]
__blocking_notifier_call_chain+0x50/0x69
Jul 30 11:46:49 closure kernel: [ 4.222098] [<ffffffff8109a80f>]
blocking_notifier_call_chain+0x14/0x16
Jul 30 11:46:49 closure kernel: [ 4.222103] [<ffffffff8134f023>]
backlight_device_register+0x1df/0x1f1
Jul 30 11:46:49 closure kernel: [ 4.222108] [<ffffffffc07b3061>]
intel_backlight_register+0xf0/0x157 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222146] [<ffffffffc078c843>]
intel_modeset_gem_init+0x158/0x164 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222176] [<ffffffffc07b997c>]
i915_driver_load+0xf1c/0x1139 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222205] [<ffffffffc053af19>]
drm_dev_register+0x84/0xfd [drm]
Jul 30 11:46:49 closure kernel: [ 4.222217] [<ffffffffc053d77e>]
drm_get_pci_dev+0x102/0x1bc [drm]
Jul 30 11:46:49 closure kernel: [ 4.222228] [<ffffffffc07291e2>]
i915_pci_probe+0x4f/0x51 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222247] [<ffffffff81333ad3>]
pci_device_probe+0x74/0xd6
Jul 30 11:46:49 closure kernel: [ 4.222253] [<ffffffff813d4806>]
driver_probe_device+0x15f/0x387
Jul 30 11:46:49 closure kernel: [ 4.222257] [<ffffffff813d4a81>]
__driver_attach+0x53/0x74
Jul 30 11:46:49 closure kernel: [ 4.222262] [<ffffffff813d2aa0>]
bus_for_each_dev+0x6f/0x89
Jul 30 11:46:49 closure kernel: [ 4.222266] [<ffffffff813d41f0>]
driver_attach+0x1e/0x20
Jul 30 11:46:49 closure kernel: [ 4.222269] [<ffffffff813d3e33>]
bus_add_driver+0x140/0x238
Jul 30 11:46:49 closure kernel: [ 4.222273] [<ffffffff813d53d8>]
driver_register+0x8f/0xcc
Jul 30 11:46:49 closure kernel: [ 4.222278] [<ffffffff81332be1>]
__pci_register_driver+0x5e/0x62
Jul 30 11:46:49 closure kernel: [ 4.222282] [<ffffffffc053d890>]
drm_pci_init+0x58/0xda [drm]
Jul 30 11:46:49 closure kernel: [ 4.222293] [<ffffffffc081f0a0>]
i915_init+0xa0/0xa8 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222312] [<ffffffff810003c7>]
do_one_initcall+0x19a/0x1af
Jul 30 11:46:49 closure kernel: [ 4.222317] [<ffffffff81619985>]
do_init_module+0x60/0x1e3
Jul 30 11:46:49 closure kernel: [ 4.222321] [<ffffffff810f0a5b>]
load_module+0x1c42/0x2059
Jul 30 11:46:49 closure kernel: [ 4.222325] [<ffffffff810f1046>]
SyS_finit_module+0x85/0x92
Jul 30 11:46:49 closure kernel: [ 4.222329] [<ffffffff8162109b>]
entry_SYSCALL_64_fastpath+0x16/0x73
Jul 30 11:46:49 closure kernel: [ 4.222334]
Jul 30 11:46:49 closure kernel: [ 4.222334] other info that might help us
debug this:
Jul 30 11:46:49 closure kernel: [ 4.222334]
Jul 30 11:46:49 closure kernel: [ 4.222340] Possible unsafe locking
scenario:
Jul 30 11:46:49 closure kernel: [ 4.222340]
Jul 30 11:46:49 closure kernel: [ 4.222344] CPU0
CPU1
Jul 30 11:46:49 closure kernel: [ 4.222347] ----
----
Jul 30 11:46:49 closure kernel: [ 4.222350]
lock(&(&backlight_notifier)->rwsem);
Jul 30 11:46:49 closure kernel: [ 4.222353]
lock(init_mutex);
Jul 30 11:46:49 closure kernel: [ 4.222357]
lock(&(&backlight_notifier)->rwsem);
Jul 30 11:46:49 closure kernel: [ 4.222363] lock(init_mutex);
Jul 30 11:46:49 closure kernel: [ 4.222366]
Jul 30 11:46:49 closure kernel: [ 4.222366] *** DEADLOCK ***
Jul 30 11:46:49 closure kernel: [ 4.222366]
Jul 30 11:46:49 closure kernel: [ 4.222371] 4 locks held by modprobe/503:
Jul 30 11:46:49 closure kernel: [ 4.222374] #0: (&dev->mutex){......}, at:
[<ffffffff813d3ff1>] device_lock+0xf/0x11
Jul 30 11:46:49 closure kernel: [ 4.222381] #1: (&dev->mutex){......}, at:
[<ffffffff813d3ff1>] device_lock+0xf/0x11
Jul 30 11:46:49 closure kernel: [ 4.222388] #2:
(drm_global_mutex){+.+.+.}, at: [<ffffffffc053aeb9>] drm_dev_register+0x24/0xfd
[drm]
Jul 30 11:46:49 closure kernel: [ 4.222402] #3:
(&(&backlight_notifier)->rwsem){++++..}, at: [<ffffffff8109a7c9>]
__blocking_notifier_call_chain+0x37/0x69
Jul 30 11:46:49 closure kernel: [ 4.222410]
Jul 30 11:46:49 closure kernel: [ 4.222410] stack backtrace:
Jul 30 11:46:49 closure kernel: [ 4.222416] CPU: 7 PID: 503 Comm: modprobe
Not tainted 4.2.0-rc4-13906-g5f1b75cd #16
Jul 30 11:46:49 closure kernel: [ 4.222420] Hardware name: LENOVO
20BECTO1WW/20BECTO1WW, BIOS GMET59WW (2.07 ) 02/12/2014
Jul 30 11:46:49 closure kernel: [ 4.222425] ffffffff8280a230
ffff8800c992b5d8 ffffffff8161a71e 0000000000000006
Jul 30 11:46:49 closure kernel: [ 4.222431] ffffffff8280a230
ffff8800c992b628 ffffffff810b9adf ffffffff82265780
Jul 30 11:46:49 closure kernel: [ 4.222437] ffff880405588000
0000000000000004 ffff880405588880 0000000000000004
Jul 30 11:46:49 closure kernel: [ 4.222443] Call Trace:
Jul 30 11:46:49 closure kernel: [ 4.222447] [<ffffffff8161a71e>]
dump_stack+0x4c/0x65
Jul 30 11:46:49 closure kernel: [ 4.222451] [<ffffffff810b9adf>]
print_circular_bug+0x1f8/0x209
Jul 30 11:46:49 closure kernel: [ 4.222455] [<ffffffff810bb77a>]
__lock_acquire+0xc55/0xf54
Jul 30 11:46:49 closure kernel: [ 4.222460] [<ffffffff810bbe08>]
lock_acquire+0x104/0x18b
Jul 30 11:46:49 closure kernel: [ 4.222464] [<ffffffff8138b380>] ?
acpi_video_get_backlight_type+0x17/0x164
Jul 30 11:46:49 closure kernel: [ 4.222469] [<ffffffff8161d83a>]
mutex_lock_nested+0x70/0x391
Jul 30 11:46:49 closure kernel: [ 4.222472] [<ffffffff8138b380>] ?
acpi_video_get_backlight_type+0x17/0x164
Jul 30 11:46:49 closure kernel: [ 4.222476] [<ffffffff8138b380>] ?
acpi_video_get_backlight_type+0x17/0x164
Jul 30 11:46:49 closure kernel: [ 4.222480] [<ffffffff8138b380>]
acpi_video_get_backlight_type+0x17/0x164
Jul 30 11:46:49 closure kernel: [ 4.222484] [<ffffffff8138b505>]
acpi_video_backlight_notify+0x19/0x2f
Jul 30 11:46:49 closure kernel: [ 4.222488] [<ffffffff8109a442>]
notifier_call_chain+0x4c/0x71
Jul 30 11:46:49 closure kernel: [ 4.222492] [<ffffffff8109a7e2>]
__blocking_notifier_call_chain+0x50/0x69
Jul 30 11:46:49 closure kernel: [ 4.222496] [<ffffffff8109a80f>]
blocking_notifier_call_chain+0x14/0x16
Jul 30 11:46:49 closure kernel: [ 4.222500] [<ffffffff8134f023>]
backlight_device_register+0x1df/0x1f1
Jul 30 11:46:49 closure kernel: [ 4.222530] [<ffffffffc07b3061>]
intel_backlight_register+0xf0/0x157 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222556] [<ffffffffc078c843>]
intel_modeset_gem_init+0x158/0x164 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222584] [<ffffffffc07b997c>]
i915_driver_load+0xf1c/0x1139 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222589] [<ffffffff810ba715>] ?
mark_held_locks+0x56/0x6c
Jul 30 11:46:49 closure kernel: [ 4.222593] [<ffffffff81620836>] ?
_raw_spin_unlock_irqrestore+0x3f/0x4d
Jul 30 11:46:49 closure kernel: [ 4.222597] [<ffffffff810ba89c>] ?
trace_hardirqs_on_caller+0x171/0x18d
Jul 30 11:46:49 closure kernel: [ 4.222607] [<ffffffffc053af19>]
drm_dev_register+0x84/0xfd [drm]
Jul 30 11:46:49 closure kernel: [ 4.222618] [<ffffffffc053d77e>]
drm_get_pci_dev+0x102/0x1bc [drm]
Jul 30 11:46:49 closure kernel: [ 4.222636] [<ffffffffc07291e2>]
i915_pci_probe+0x4f/0x51 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222640] [<ffffffff81333ad3>]
pci_device_probe+0x74/0xd6
Jul 30 11:46:49 closure kernel: [ 4.222644] [<ffffffff813d4a2e>] ?
driver_probe_device+0x387/0x387
Jul 30 11:46:49 closure kernel: [ 4.222648] [<ffffffff813d4806>]
driver_probe_device+0x15f/0x387
Jul 30 11:46:49 closure kernel: [ 4.222652] [<ffffffff813d4a2e>] ?
driver_probe_device+0x387/0x387
Jul 30 11:46:49 closure kernel: [ 4.222655] [<ffffffff813d4a81>]
__driver_attach+0x53/0x74
Jul 30 11:46:49 closure kernel: [ 4.222659] [<ffffffff813d2aa0>]
bus_for_each_dev+0x6f/0x89
Jul 30 11:46:49 closure kernel: [ 4.222662] [<ffffffff813d41f0>]
driver_attach+0x1e/0x20
Jul 30 11:46:49 closure kernel: [ 4.222666] [<ffffffff813d3e33>]
bus_add_driver+0x140/0x238
Jul 30 11:46:49 closure kernel: [ 4.222670] [<ffffffff813d53d8>]
driver_register+0x8f/0xcc
Jul 30 11:46:49 closure kernel: [ 4.222674] [<ffffffff81332be1>]
__pci_register_driver+0x5e/0x62
Jul 30 11:46:49 closure kernel: [ 4.222677] [<ffffffffc081f000>] ?
0xffffffffc081f000
Jul 30 11:46:49 closure kernel: [ 4.222687] [<ffffffffc053d890>]
drm_pci_init+0x58/0xda [drm]
Jul 30 11:46:49 closure kernel: [ 4.222690] [<ffffffffc081f000>] ?
0xffffffffc081f000
Jul 30 11:46:49 closure kernel: [ 4.222708] [<ffffffffc081f0a0>]
i915_init+0xa0/0xa8 [i915]
Jul 30 11:46:49 closure kernel: [ 4.222712] [<ffffffffc081f000>] ?
0xffffffffc081f000
Jul 30 11:46:49 closure kernel: [ 4.222716] [<ffffffff810003c7>]
do_one_initcall+0x19a/0x1af
Jul 30 11:46:49 closure kernel: [ 4.222719] [<ffffffff8161994d>] ?
do_init_module+0x28/0x1e3
Jul 30 11:46:49 closure kernel: [ 4.222723] [<ffffffff81199350>] ?
kmem_cache_alloc_trace+0xba/0xcc
Jul 30 11:46:49 closure kernel: [ 4.222727] [<ffffffff81619985>]
do_init_module+0x60/0x1e3
Jul 30 11:46:49 closure kernel: [ 4.222731] [<ffffffff810f0a5b>]
load_module+0x1c42/0x2059
Jul 30 11:46:49 closure kernel: [ 4.222736] [<ffffffff810f1046>]
SyS_finit_module+0x85/0x92
Jul 30 11:46:49 closure kernel: [ 4.222739] [<ffffffff8162109b>]
entry_SYSCALL_64_fastpath+0x16/0x73