Seen when booting chromeos-4.14 on cyan.
[ 60.842655] max98090 i2c-193C9890:00: DMIC Mux: put_dmic_mux enable DMIC
[ 60.842950] ======================================================
[ 60.842959] WARNING: possible circular locking dependency detected
[ 60.842971] 4.14.0 #3 Tainted: G W
[ 60.842980] ------------------------------------------------------
[ 60.842989] cras/2432 is trying to acquire lock:
[ 60.842998] (&card->dapm_mutex){+.+.}, at: [<ffffffffa8dd8892>] snd_soc_dapm_add_routes+0x44/0x109
[ 60.843029]
but task is already holding lock:
[ 60.843039] (&card->controls_rwsem){++++}, at: [<ffffffffa8dab841>] snd_ctl_ioctl+0x3e7/0x633
[ 60.843063]
which lock already depends on the new lock.
[ 60.843076]
the existing dependency chain (in reverse order) is:
[ 60.843087]
-> #1 (&card->controls_rwsem){++++}:
[ 60.843113] lock_acquire+0x1e1/0x217
[ 60.843128] down_write+0x3d/0x65
[ 60.843140] snd_ctl_add+0xcd/0x273
[ 60.843155] dapm_create_or_share_kcontrol+0x2f1/0x419
[ 60.843169] snd_soc_dapm_new_widgets+0x2e5/0x7b7
[ 60.843203] sst_dsp_init_v2_dpcm+0xbe/0x6e7 [snd_soc_sst_atom_hifi2_platform]
[ 60.843234] sst_soc_probe+0x58/0x5f [snd_soc_sst_atom_hifi2_platform]
[ 60.843247] snd_soc_platform_drv_probe+0x2e/0x33
[ 60.843260] soc_probe_component+0x41e/0x658
[ 60.843274] snd_soc_register_card+0x9be/0x17cd
[ 60.843287] devm_snd_soc_register_card+0x4b/0x7d
[ 60.843304] snd_cht_mc_probe+0xd9/0x118 [snd_soc_sst_cht_bsw_max98090_ti]
[ 60.843320] platform_drv_probe+0x78/0xc7
[ 60.843333] driver_probe_device+0x1d7/0x40d
[ 60.843345] __driver_attach+0xa4/0xce
[ 60.843358] bus_for_each_dev+0xbd/0xe2
[ 60.843370] driver_attach+0x2b/0x2e
[ 60.843383] bus_add_driver+0x18c/0x2c3
[ 60.843395] driver_register+0x108/0x156
[ 60.843409] __platform_driver_register+0x6c/0x71
[ 60.843424] mark_tg+0x17/0x64 [xt_mark]
[ 60.843438] do_one_initcall+0xae/0x162
[ 60.843451] do_init_module+0xe9/0x2f4
[ 60.843465] load_module+0x3672/0x3698
[ 60.843479] SYSC_finit_module+0xae/0xd6
[ 60.843491] SyS_finit_module+0xe/0x10
[ 60.843505] entry_SYSCALL_64_fastpath+0x2c/0xc1
[ 60.843513]
-> #0 (&card->dapm_mutex){+.+.}:
[ 60.843537] __lock_acquire+0x11e0/0x154c
[ 60.843549] lock_acquire+0x1e1/0x217
[ 60.843561] __mutex_lock+0x91/0x523
[ 60.843574] mutex_lock_nested+0x1b/0x1d
[ 60.843587] snd_soc_dapm_add_routes+0x44/0x109
[ 60.843618] put_dmic_mux+0xc4/0xef [snd_soc_max98090]
[ 60.843631] snd_ctl_elem_write+0xc5/0x141
[ 60.843644] snd_ctl_ioctl+0x3f5/0x633
[ 60.843657] vfs_ioctl+0x4b/0x5d
[ 60.843670] do_vfs_ioctl+0x5e5/0x608
[ 60.843683] SyS_ioctl+0x57/0x79
[ 60.843697] entry_SYSCALL_64_fastpath+0x2c/0xc1
[ 60.843705]
other info that might help us debug this:
[ 60.843718] Possible unsafe locking scenario:
[ 60.843728] CPU0 CPU1
[ 60.843736] ---- ----
[ 60.843743] lock(&card->controls_rwsem);
[ 60.843756] lock(&card->dapm_mutex);
[ 60.843768] lock(&card->controls_rwsem);
[ 60.843780] lock(&card->dapm_mutex);
[ 60.843792]
*** DEADLOCK ***
[ 60.843807] 1 lock held by cras/2432:
[ 60.843815] #0: (&card->controls_rwsem){++++}, at: [<ffffffffa8dab841>] snd_ctl_ioctl+0x3e7/0x633
[ 60.843839]
stack backtrace:
[ 60.843855] CPU: 0 PID: 2432 Comm: cras Tainted: G W 4.14.0 #3
[ 60.843865] Hardware name: GOOGLE Cyan, BIOS Google_Cyan.7287.50.0 09/06/2015
[ 60.843874] Call Trace:
[ 60.843892] dump_stack+0x67/0x90
[ 60.843907] print_circular_bug.isra.41+0x22e/0x23c
[ 60.843922] __lock_acquire+0x11e0/0x154c
[ 60.843941] ? vprintk_emit+0x24c/0x25d
[ 60.843956] lock_acquire+0x1e1/0x217
[ 60.843970] ? lock_is_held+0xc/0xe
[ 60.843983] ? lock_acquire+0x1e1/0x217
[ 60.843997] ? snd_soc_dapm_add_routes+0x44/0x109
[ 60.844013] __mutex_lock+0x91/0x523
[ 60.844028] ? snd_soc_dapm_add_routes+0x44/0x109
[ 60.844045] ? dev_printk_emit+0x4a/0x66
[ 60.844059] ? snd_soc_dapm_add_routes+0x44/0x109
[ 60.844076] mutex_lock_nested+0x1b/0x1d
[ 60.844090] ? mutex_lock_nested+0x1b/0x1d
[ 60.844105] snd_soc_dapm_add_routes+0x44/0x109
[ 60.844138] put_dmic_mux+0xc4/0xef [snd_soc_max98090]
[ 60.844153] snd_ctl_elem_write+0xc5/0x141
[ 60.844170] snd_ctl_ioctl+0x3f5/0x633
[ 60.844186] ? __inode_security_revalidate+0x5c/0x83
[ 60.844201] vfs_ioctl+0x4b/0x5d
[ 60.844216] do_vfs_ioctl+0x5e5/0x608
[ 60.844232] SyS_ioctl+0x57/0x79
[ 60.844248] entry_SYSCALL_64_fastpath+0x2c/0xc1
[ 60.844260] RIP: 0033:0x7cccd1dd6967
[ 60.844270] RSP: 002b:00007fff39bfe2e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 60.844285] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007cccd1dd6967
[ 60.844295] RDX: 000059e985821920 RSI: 00000000c4c85513 RDI: 0000000000000010
[ 60.844306] RBP: ffffffffa84f7381 R08: 000000000000000c R09: 0000000000000003
[ 60.844317] R10: fffffffffffff433 R11: 0000000000000246 R12: ffff880150bfff98
[ 60.844328] R13: 0000000000000120 R14: 00007cccd208cb80 R15: 000059e985821de0
[ 60.844345] ? trace_hardirqs_off_caller+0x114/0x122
|
Deleted:
dmesg
89.5 KB
|
Comment 1 by groeck@chromium.org
, Mar 5 2018