Bug 105051

Summary: circular locking, switcheroo-cont/889 is trying to acquire lock vga_switchto_stage2, but vga_switcheroo_debugfs_write already has lock
Product: DRI Reporter: Chris Murphy <bugzilla>
Component: DRM/otherAssignee: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
i915 platform: i915 features:
Description Flags
journalctl -b -o short-monotonic
lspci -vvnn
dmidecode none

Description Chris Murphy 2018-02-12 07:00:17 UTC
4.16.0-0.rc0.git9.1.fc28.x86_64 which is "linux-next" git f9f1e414128e

[    9.523799] switcheroo-cont/889 is trying to acquire lock:
[    9.523799]  (console_lock){+.+.}, at: [<000000002c1cc7fb>] vga_switchto_stage2+0x93/0x130
[    9.523806] 
               but task is already holding lock:
[    9.523807]  (vgasr_mutex){+.+.}, at: [<000000007e504e29>] vga_switcheroo_debugfs_write+0x6b/0x360
[    9.523810] 
               which lock already depends on the new lock.

[    9.523810] 
               the existing dependency chain (in reverse order) is:
[    9.523810] 
               -> #3 (vgasr_mutex){+.+.}:
[    9.523812] 
               -> #2 (&helper->lock){+.+.}:
[    9.523814] 
               -> #1 ((fb_notifier_list).rwsem){++++}:
[    9.523816] 
               -> #0 (console_lock){+.+.}:
[    9.523818] 
               other info that might help us debug this:

[    9.523818] Chain exists of:
                 console_lock --> &helper->lock --> vgasr_mutex
Comment 1 Chris Murphy 2018-02-12 07:02:22 UTC
Created attachment 137286 [details]
Comment 2 Chris Murphy 2018-02-12 07:02:40 UTC
Created attachment 137287 [details]
journalctl -b -o short-monotonic
Comment 3 Chris Murphy 2018-02-12 07:03:08 UTC
Created attachment 137288 [details]
lspci -vvnn
Comment 4 Chris Murphy 2018-02-12 07:03:19 UTC
Created attachment 137289 [details]
Comment 5 Chris Murphy 2018-03-10 09:06:25 UTC
Still happens in 4.16.0-0.rc4.git3.1.fc29.x86_64 which is git 1b88accf6a65.
Comment 6 Martin Peres 2019-10-14 13:20:01 UTC

Freedesktop's Bugzilla instance is EOLed and open bugs are about to be migrated to http://gitlab.freedesktop.org.

To avoid migrating out of date bugs, I am now closing all the bugs that did not see any activity in the past year. If the issue is still happening, please create a new bug in the relevant project at https://gitlab.freedesktop.org/drm (use misc by default).

Sorry about the noise!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.