Re: [4.2-rc4] acpi|drm|i915: circular locking dependency: acpi_video_get_backlight_type

From: Sedat Dilek
Date: Sat Aug 01 2015 - 08:23:54 EST


On Mon, Jul 27, 2015 at 12:33 AM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> Hi,
>
> this my first build of a 4.2-rcN Linux-kernel and I see this...
>

Just FYI:

I am *not* seeing this with drm-intel-nightly from below url.

Also, I plan to test Linux v4.2-rc5.

- Sedat -

[1] http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/2015-08-01-unstable/
[2] http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/2015-08-01-unstable/linux-image-4.2.0-994-generic_4.2.0-994.201508010158_amd64.deb

> [ 24.001043] [drm] Memory usable by graphics device = 2048M
> [ 24.001118] [drm] Replacing VGA console driver
> [ 24.011642] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [ 24.011646] [drm] Driver supports precise vblank timestamp query.
> [ 24.012480] vgaarb: device changed decodes:
> PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
> [ 24.028005]
> [ 24.028014] ======================================================
> [ 24.028020] [ INFO: possible circular locking dependency detected ]
> [ 24.028027] 4.2.0-rc4-1-iniza-small #1 Not tainted
> [ 24.028032] -------------------------------------------------------
> [ 24.028038] modprobe/740 is trying to acquire lock:
> [ 24.028043] (init_mutex){+.+.+.}, at: [<ffffffffa006af2d>]
> acpi_video_get_backlight_type+0x17/0x164 [video]
> [ 24.028060]
> [ 24.028060] but task is already holding lock:
> [ 24.028068] (&(&backlight_notifier)->rwsem){++++..}, at:
> [<ffffffff810a6499>] __blocking_notifier_call_chain+0x39/0x70
> [ 24.028083]
> [ 24.028083] which lock already depends on the new lock.
> [ 24.028083]
> [ 24.028095]
> [ 24.028095] the existing dependency chain (in reverse order) is:
> [ 24.028103]
> [ 24.028103] -> #1 (&(&backlight_notifier)->rwsem){++++..}:
> [ 24.028113] [<ffffffff810da56f>] lock_acquire+0xcf/0x280
> [ 24.028121] [<ffffffff817d6269>] down_write+0x49/0x80
> [ 24.028129] [<ffffffff810a6611>]
> blocking_notifier_chain_register+0x21/0xb0
> [ 24.028138] [<ffffffff814619f8>] backlight_register_notifier+0x18/0x20
> [ 24.028147] [<ffffffffa006b010>]
> acpi_video_get_backlight_type+0xfa/0x164 [video]
> [ 24.028158] [<ffffffffa00a20e9>] 0xffffffffa00a20e9
> [ 24.028164] [<ffffffff810020f8>] do_one_initcall+0x88/0x1c0
> [ 24.028172] [<ffffffff817cc9d2>] do_init_module+0x61/0x1ec
> [ 24.028179] [<ffffffff8111fb78>] load_module+0x2008/0x25c0
> [ 24.028187] [<ffffffff81120256>] SyS_init_module+0x126/0x140
> [ 24.028194] [<ffffffff817d8e32>] entry_SYSCALL_64_fastpath+0x16/0x7a
> [ 24.028202]
> [ 24.028202] -> #0 (init_mutex){+.+.+.}:
> [ 24.028211] [<ffffffff810d989d>] __lock_acquire+0x1f5d/0x21c0
> [ 24.028218] [<ffffffff810da56f>] lock_acquire+0xcf/0x280
> [ 24.028225] [<ffffffff817d4275>] mutex_lock_nested+0x65/0x3c0
> [ 24.028233] [<ffffffffa006af2d>]
> acpi_video_get_backlight_type+0x17/0x164 [video]
> [ 24.028243] [<ffffffffa006b0b2>]
> acpi_video_backlight_notify+0x19/0x2f [video]
> [ 24.028253] [<ffffffff810a629d>] notifier_call_chain+0x5d/0x80
> [ 24.028260] [<ffffffff810a64b1>]
> __blocking_notifier_call_chain+0x51/0x70
> [ 24.028269] [<ffffffff810a64e6>]
> blocking_notifier_call_chain+0x16/0x20
> [ 24.028278] [<ffffffff81461d37>] backlight_device_register+0x197/0x240
> [ 24.028286] [<ffffffffa062bb23>]
> intel_backlight_register+0xb3/0x180 [i915]
> [ 24.028336] [<ffffffffa05fe136>]
> intel_modeset_gem_init+0x176/0x190 [i915]
> [ 24.028371] [<ffffffffa0633112>] i915_driver_load+0xf12/0x14d0 [i915]
> [ 24.028406] [<ffffffffa00ec861>] drm_dev_register+0xb1/0x100 [drm]
> [ 24.028425] [<ffffffffa00ef62d>] drm_get_pci_dev+0x8d/0x1e0 [drm]
> [ 24.028439] [<ffffffffa057e1fb>] i915_pci_probe+0x3b/0x60 [i915]
> [ 24.028463] [<ffffffff814317e5>] local_pci_probe+0x45/0xa0
> [ 24.028470] [<ffffffff81432bad>] pci_device_probe+0xcd/0x120
> [ 24.028477] [<ffffffff8152d3a6>] driver_probe_device+0x136/0x2e0
> [ 24.028485] [<ffffffff8152d5e4>] __driver_attach+0x94/0xa0
> [ 24.028491] [<ffffffff8152b336>] bus_for_each_dev+0x66/0xa0
> [ 24.028499] [<ffffffff8152cede>] driver_attach+0x1e/0x20
> [ 24.028506] [<ffffffff8152cad8>] bus_add_driver+0x1b8/0x230
> [ 24.028513] [<ffffffff8152e580>] driver_register+0x60/0xe0
> [ 24.028520] [<ffffffff814310a4>] __pci_register_driver+0x64/0x70
> [ 24.028527] [<ffffffffa00ef860>] drm_pci_init+0xe0/0x110 [drm]
> [ 24.028540] [<ffffffffa069a0a0>] i915_init+0xa0/0xa8 [i915]
> [ 24.028563] [<ffffffff810020f8>] do_one_initcall+0x88/0x1c0
> [ 24.028570] [<ffffffff817cc9d2>] do_init_module+0x61/0x1ec
> [ 24.028577] [<ffffffff8111fb78>] load_module+0x2008/0x25c0
> [ 24.028584] [<ffffffff81120256>] SyS_init_module+0x126/0x140
> [ 24.028591] [<ffffffff817d8e32>] entry_SYSCALL_64_fastpath+0x16/0x7a
> [ 24.028598]
> [ 24.028598] other info that might help us debug this:
> [ 24.028598]
> [ 24.028609] Possible unsafe locking scenario:
> [ 24.028609]
> [ 24.028617] CPU0 CPU1
> [ 24.028622] ---- ----
> [ 24.028627] lock(&(&backlight_notifier)->rwsem);
> [ 24.028633] lock(init_mutex);
> [ 24.028639]
> lock(&(&backlight_notifier)->rwsem);
> [ 24.028648] lock(init_mutex);
> [ 24.028654]
> [ 24.028654] *** DEADLOCK ***
> [ 24.028654]
> [ 24.028664] 4 locks held by modprobe/740:
> [ 24.028669] #0: (&dev->mutex){......}, at: [<ffffffff8152d59b>]
> __driver_attach+0x4b/0xa0
> [ 24.028681] #1: (&dev->mutex){......}, at: [<ffffffff8152d5a9>]
> __driver_attach+0x59/0xa0
> [ 24.028693] #2: (drm_global_mutex){+.+.+.}, at:
> [<ffffffffa00ec7d6>] drm_dev_register+0x26/0x100 [drm]
> [ 24.028711] #3: (&(&backlight_notifier)->rwsem){++++..}, at:
> [<ffffffff810a6499>] __blocking_notifier_call_chain+0x39/0x70
> [ 24.028725]
> [ 24.028725] stack backtrace:
> [ 24.028734] CPU: 1 PID: 740 Comm: modprobe Not tainted
> 4.2.0-rc4-1-iniza-small #1
> [ 24.028742] Hardware name: SAMSUNG ELECTRONICS CO., LTD.
> 530U3BI/530U4BI/530U4BH/530U3BI/530U4BI/530U4BH, BIOS 13XK 03/28/2013
> [ 24.028753] ffffffff8269fc40 ffff8801188134b8 ffffffff817cea9b
> 0000000000000011
> [ 24.028763] ffffffff8269fc40 ffff880118813508 ffffffff817cbfc4
> ffff8800d3a00b40
> [ 24.028774] ffff880118813578 ffff8800d3a01410 0000000000000004
> ffff8800d3a01410
> [ 24.028784] Call Trace:
> [ 24.028791] [<ffffffff817cea9b>] dump_stack+0x4c/0x65
> [ 24.028797] [<ffffffff817cbfc4>] print_circular_bug+0x20b/0x21c
> [ 24.028804] [<ffffffff810d989d>] __lock_acquire+0x1f5d/0x21c0
> [ 24.028812] [<ffffffff810da56f>] lock_acquire+0xcf/0x280
> [ 24.028819] [<ffffffffa006af2d>] ?
> acpi_video_get_backlight_type+0x17/0x164 [video]
> [ 24.028830] [<ffffffff817d4275>] mutex_lock_nested+0x65/0x3c0
> [ 24.028837] [<ffffffffa006af2d>] ?
> acpi_video_get_backlight_type+0x17/0x164 [video]
> [ 24.028847] [<ffffffffa006af2d>]
> acpi_video_get_backlight_type+0x17/0x164 [video]
> [ 24.028857] [<ffffffffa006b0b2>]
> acpi_video_backlight_notify+0x19/0x2f [video]
> [ 24.028866] [<ffffffff810a629d>] notifier_call_chain+0x5d/0x80
> [ 24.028873] [<ffffffff810a64b1>] __blocking_notifier_call_chain+0x51/0x70
> [ 24.028880] [<ffffffff810a64e6>] blocking_notifier_call_chain+0x16/0x20
> [ 24.028887] [<ffffffff81461d37>] backlight_device_register+0x197/0x240
> [ 24.028920] [<ffffffffa062bb23>] intel_backlight_register+0xb3/0x180 [i915]
> [ 24.028952] [<ffffffffa05fe136>] intel_modeset_gem_init+0x176/0x190 [i915]
> [ 24.028984] [<ffffffffa0633112>] i915_driver_load+0xf12/0x14d0 [i915]
> [ 24.028991] [<ffffffff810d73e9>] ? mark_held_locks+0x69/0x90
> [ 24.028997] [<ffffffff817d5cd0>] ? __mutex_unlock_slowpath+0xc0/0x180
> [ 24.029004] [<ffffffff810d73e9>] ? mark_held_locks+0x69/0x90
> [ 24.029011] [<ffffffff817d84d6>] ? _raw_spin_unlock_irqrestore+0x36/0x60
> [ 24.029018] [<ffffffff810d7561>] ? trace_hardirqs_on_caller+0x151/0x1e0
> [ 24.029025] [<ffffffff810d75fd>] ? trace_hardirqs_on+0xd/0x10
> [ 24.029039] [<ffffffffa00ec861>] drm_dev_register+0xb1/0x100 [drm]
> [ 24.029052] [<ffffffffa00ef62d>] drm_get_pci_dev+0x8d/0x1e0 [drm]
> [ 24.029076] [<ffffffffa057e1fb>] i915_pci_probe+0x3b/0x60 [i915]
> [ 24.029082] [<ffffffff814317e5>] local_pci_probe+0x45/0xa0
> [ 24.029089] [<ffffffff81432a70>] ? pci_match_device+0xe0/0x110
> [ 24.029095] [<ffffffff81432bad>] pci_device_probe+0xcd/0x120
> [ 24.029102] [<ffffffff8152d3a6>] driver_probe_device+0x136/0x2e0
> [ 24.029109] [<ffffffff8152d5e4>] __driver_attach+0x94/0xa0
> [ 24.029115] [<ffffffff8152d550>] ? driver_probe_device+0x2e0/0x2e0
> [ 24.029124] [<ffffffff8152b336>] bus_for_each_dev+0x66/0xa0
> [ 24.029134] [<ffffffff8152cede>] driver_attach+0x1e/0x20
> [ 24.029144] [<ffffffff8152cad8>] bus_add_driver+0x1b8/0x230
> [ 24.029153] [<ffffffff8152e580>] driver_register+0x60/0xe0
> [ 24.029163] [<ffffffff814310a4>] __pci_register_driver+0x64/0x70
> [ 24.029180] [<ffffffffa00ef860>] drm_pci_init+0xe0/0x110 [drm]
> [ 24.029190] [<ffffffffa069a000>] ? 0xffffffffa069a000
> [ 24.029218] [<ffffffffa069a0a0>] i915_init+0xa0/0xa8 [i915]
> [ 24.029228] [<ffffffff810020f8>] do_one_initcall+0x88/0x1c0
> [ 24.029238] [<ffffffff817cc999>] ? do_init_module+0x28/0x1ec
> [ 24.029248] [<ffffffff817cc9d2>] do_init_module+0x61/0x1ec
> [ 24.029257] [<ffffffff8111fb78>] load_module+0x2008/0x25c0
> [ 24.029266] [<ffffffff8111b6c0>] ? m_show+0x1a0/0x1a0
> [ 24.029278] [<ffffffff817d9a73>] ? retint_kernel+0x10/0x10
> [ 24.029290] [<ffffffff81120256>] SyS_init_module+0x126/0x140
> [ 24.029297] [<ffffffff817d8e32>] entry_SYSCALL_64_fastpath+0x16/0x7a
> [ 24.030969] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
> [ 24.031157] input: Video Bus as
> /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input11
> [ 24.031353] [drm] Initialized i915 1.6.0 20150522 for 0000:00:02.0 on minor 0
> [ 24.041224] fbcon: inteldrmfb (fb0) is primary device
>
> Not sure which area is the root cause, so I added acpi and drm/i915 folks.
>
> dmesg and kernel-config are attached.
> More infos?
> Please let me know what you need.
>
> Regards,
> - sed@ -
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/