[REGRESSION] Re: i915 driver crashes on T540p if docking station attached

Daniel Vetter daniel at ffwll.ch
Thu Jul 30 09:00:26 PDT 2015


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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list