* cw1200 - deadlock warning on imx6 quad core
@ 2015-02-12 21:02 Jonathan Bagg
0 siblings, 0 replies; only message in thread
From: Jonathan Bagg @ 2015-02-12 21:02 UTC (permalink / raw)
To: linux-wireless, Solomon Peachy
[ 108.191975] ======================================================
[ 108.198157] [ INFO: possible circular locking dependency detected ]
[ 108.204430] 3.17.2 #9 Not tainted
[ 108.207748] -------------------------------------------------------
[ 108.214018] kworker/u8:1/30 is trying to acquire lock:
[ 108.219160] (&priv->conf_mutex){+.+.+.}, at: [<80442380>]
cw1200_bss_params_work+0x24/0x4c
[ 108.227593]
[ 108.227593] but task is already holding lock:
[ 108.233430] ((&priv->bss_params_work)){+.+...}, at: [<8003dd44>]
process_one_work+0x13c/0x3fc
[ 108.242111]
[ 108.242111] which lock already depends on the new lock.
[ 108.242111]
[ 108.250294]
[ 108.250294] the existing dependency chain (in reverse order) is:
[ 108.257780]
-> #2 ((&priv->bss_params_work)){+.+...}:
[ 108.263065] [<8003cf10>] flush_work+0x44/0x268
[ 108.268138] [<8003eac0>] __cancel_work_timer+0x88/0x12c
[ 108.273992] [<8003eb90>] cancel_work_sync+0x14/0x18
[ 108.279497] [<804410ac>] __cw1200_cqm_bssloss_sm+0x30/0x148
[ 108.285699] [<804438b8>] cw1200_bss_info_changed+0x23c/0xc78
[ 108.291988] [<8066c23c>]
ieee80211_bss_info_change_notify+0xa8/0x11c
[ 108.298980] [<806b12cc>] ieee80211_assoc_success+0x7cc/0xa18
[ 108.305273] [<8069cefc>] ieee80211_rx_mgmt_assoc_resp+0x13c/0x26c
[ 108.311994] [<8069d32c>] ieee80211_sta_rx_queued_mgmt+0x28c/0x5e8
[ 108.318714] [<8067ba94>] ieee80211_iface_work+0x280/0x354
[ 108.324747] [<8003ddb0>] process_one_work+0x1a8/0x3fc
[ 108.330426] [<8003e158>] worker_thread+0x118/0x4d0
[ 108.335844] [<80042fec>] kthread+0xd0/0xec
[ 108.340567] [<8000eac8>] ret_from_fork+0x14/0x2c
[ 108.345817]
-> #1 (&(&priv->bss_loss_lock)->rlock){+.+...}:
[ 108.351623] [<806b631c>] _raw_spin_lock+0x34/0x44
[ 108.356958] [<804438a4>] cw1200_bss_info_changed+0x228/0xc78
[ 108.363246] [<8066c23c>]
ieee80211_bss_info_change_notify+0xa8/0x11c
[ 108.370230] [<806b12cc>] ieee80211_assoc_success+0x7cc/0xa18
[ 108.376597] [<8069cefc>] ieee80211_rx_mgmt_assoc_resp+0x13c/0x26c
[ 108.383318] [<8069d32c>] ieee80211_sta_rx_queued_mgmt+0x28c/0x5e8
[ 108.390038] [<8067ba94>] ieee80211_iface_work+0x280/0x354
[ 108.396066] [<8003ddb0>] process_one_work+0x1a8/0x3fc
[ 108.401745] [<8003e158>] worker_thread+0x118/0x4d0
[ 108.407163] [<80042fec>] kthread+0xd0/0xec
[ 108.411885] [<8000eac8>] ret_from_fork+0x14/0x2c
[ 108.417131]
-> #0 (&priv->conf_mutex){+.+.+.}:
[ 108.421808] [<800600d8>] lock_acquire+0x68/0x7c
[ 108.426971] [<806b446c>] mutex_lock_nested+0x5c/0x3c0
[ 108.432651] [<80442380>] cw1200_bss_params_work+0x24/0x4c
[ 108.438682] [<8003ddb0>] process_one_work+0x1a8/0x3fc
[ 108.444361] [<8003e158>] worker_thread+0x118/0x4d0
[ 108.449780] [<80042fec>] kthread+0xd0/0xec
[ 108.454502] [<8000eac8>] ret_from_fork+0x14/0x2c
[ 108.459749]
[ 108.459749] other info that might help us debug this:
[ 108.459749]
[ 108.467758] Chain exists of:
&priv->conf_mutex --> &(&priv->bss_loss_lock)->rlock -->
(&priv->bss_params_work)
[ 108.478281] Possible unsafe locking scenario:
[ 108.478281]
[ 108.484204] CPU0 CPU1
[ 108.488736] ---- ----
[ 108.493268] lock((&priv->bss_params_work));
[ 108.497655] lock(&(&priv->bss_loss_lock)->rlock);
[ 108.505081] lock((&priv->bss_params_work));
[ 108.511987] lock(&priv->conf_mutex);
[ 108.515766]
[ 108.515766] *** DEADLOCK ***
[ 108.515766]
[ 108.521692] 2 locks held by kworker/u8:1/30:
[ 108.525964] #0: ("%s""cw1200_wq"){.+.+.+}, at: [<8003dd44>]
process_one_work+0x13c/0x3fc
[ 108.534308] #1: ((&priv->bss_params_work)){+.+...}, at:
[<8003dd44>] process_one_work+0x13c/0x3fc
[ 108.543433]
[ 108.543433] stack backtrace:
[ 108.547799] CPU: 2 PID: 30 Comm: kworker/u8:1 Not tainted 3.17.2 #9
[ 108.554074] Workqueue: cw1200_wq cw1200_bss_params_work
[ 108.559315] Backtrace:
[ 108.561791] [<80011dc0>] (dump_backtrace) from [<80011f60>]
(show_stack+0x18/0x1c)
[ 108.569363] r6:80b28700 r5:00000000 r4:00000000 r3:be1d3a80
[ 108.575094] [<80011f48>] (show_stack) from [<806af960>]
(dump_stack+0x80/0x9c)
[ 108.582325] [<806af8e0>] (dump_stack) from [<806ad704>]
(print_circular_bug+0x284/0x2dc)
[ 108.590417] r5:80b28a30 r4:80b26610
[ 108.594032] [<806ad480>] (print_circular_bug) from [<8005f864>]
(__lock_acquire+0x19c8/0x1d0c)
[ 108.602645] r10:00000110 r9:be1d3f08 r8:80b28a30 r7:00000000
r6:811ba594 r5:be1d3ef0
[ 108.610555] r4:be1d3a80 r3:be1d3ef0
[ 108.614168] [<8005de9c>] (__lock_acquire) from [<800600d8>]
(lock_acquire+0x68/0x7c)
[ 108.621914] r10:be210000 r9:be1d3a80 r8:be210000 r7:00000000
r6:60000013 r5:be210000
[ 108.629826] r4:00000000
[ 108.632384] [<80060070>] (lock_acquire) from [<806b446c>]
(mutex_lock_nested+0x5c/0x3c0)
[ 108.640477] r7:00000000- r6:8116af54 r5:80442380 r4:bd6895ac
[ 108.646294] [<806b4410>] (mutex_lock_nested) from [<80442380>]
(cw1200_bss_params_work+0x24/0x4c)
[ 108.655168] r10:00000000 r9:00000001 r8:be210000 r7:bd42bd00
r6:bd689560 r5:bd6895ac
[ 108.663078] r4:bd68a490
[ 108.665637] [<8044235c>] (cw1200_bss_params_work) from [<8003ddb0>]
(process_one_work+0x1a8/0x3fc)
[ 108.674597] r6:be011c00 r5:bd68a490 r4:be1f3880 r3:8044235c
[ 108.680328] [<8003dc08>] (process_one_work) from [<8003e158>]
(worker_thread+0x118/0x4d0)
[ 108.688508] r10:00000088 r9:be011c00 r8:be1f3898 r7:be011c30
r6:be210000 r5:be011c00
[ 108.696417] r4:be1f3880
[ 108.698973] [<8003e040>] (worker_thread) from [<80042fec>]
(kthread+0xd0/0xec)
[ 108.706198] r10:00000000 r9:00000000 r8:00000000 r7:8003e040
r6:be1f3880 r5:be1f5100
[ 108.714107] r4:00000000
[ 108.716665] [<80042f1c>] (kthread) from [<8000eac8>]
(ret_from_fork+0x14/0x2c)
[ 108.723889] r7:00000000 r6:00000000 r5:80042f1c r4:be1f5100
--
Jonathan Bagg
Embedded Systems Developer
NAD Electronics | Lenbrook Industries Limited
633 Granite Court, Pickering, Ontario, Canada L1W 3K1 | 905-831-0799 ext 4478 | http://www.nadelectronics.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-02-12 21:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-12 21:02 cw1200 - deadlock warning on imx6 quad core Jonathan Bagg
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.