New issue
Advanced search Search tips

Issue 787566 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 842327
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

chromeos-4.14: Possible circular locking dependency in snd_soc_sst_cht_bsw_max98090_ti

Project Member Reported by groeck@chromium.org, Nov 21 2017

Issue description

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


 
dmesg
89.5 KB View Download
Cc: marc.her...@intel.com
Cc: groeck@chromium.org hychao@chromium.org dgreid@chromium.org cychiang@chromium.org
Labels: OS-Chrome
Mergedinto: 842327
Owner: tzungbi@chromium.org
Status: Duplicate (was: Untriaged)

Comment 3 by groeck@chromium.org, Jun 11 2018

Cc: -marc.her...@intel.com

Sign in to add a comment