linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).