On Thu, Jul 30, 2015 at 11:50:29AM -0400, Theodore Ts'o wrote:
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.
Ok so I'm not completely clueless yet, the encoder confusion indeed resulted in the follow-up crash. But obviously I don't understand yet exactly what's going on if this breaks the display.
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.
The lockdep splat is all in the driver load before we do any modeset at all, so shouldn't have changed between these patches. Are you sure it's a regression due to mine and wasn't there before?
So even though Linus's patch wasn't supposed to work, I think I'm going to back to it....
Well I found some dp mst hubs meanwhile so hopefully tomorrow I can test myself what's going wrong here. -Daniel
- 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
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel