Bug 136943

Summary: [wpi] [lor] wpi0_com_lock / wpi0
Product: Base System Reporter: Rene Ladan <rene>
Component: wirelessAssignee: freebsd-wireless (Nobody) <wireless>
Status: Closed FIXED    
Severity: Affects Only Me CC: avos
Priority: Normal    
Version: 8.0-BETA2   
Hardware: Any   
OS: Any   

Description Rene Ladan freebsd_committer freebsd_triage 2009-07-20 22:20:04 UTC
lock order reversal:
 1st 0xffffff80002dc018 wpi0_com_lock (wpi0_com_lock) @ /usr/src/sys/modules/wpi/../../dev/wpi/if_wpi.c:1291
 2nd 0xffffff00024c0010 wpi0 (network driver) @ /usr/src/sys/modules/wpi/../../dev/wpi/if_wpi.c:2068
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x81e
_mtx_lock_flags() at _mtx_lock_flags+0x78
wpi_raw_xmit() at wpi_raw_xmit+0x7a
ieee80211_send_mgmt() at ieee80211_send_mgmt+0x4d5
sta_newstate() at sta_newstate+0x42e
wpi_newstate() at wpi_newstate+0xee
ieee80211_newstate_cb() at ieee80211_newstate_cb+0xac
taskqueue_run() at taskqueue_run+0x96
taskqueue_thread_loop() at taskqueue_thread_loop+0x3f
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffff803c22bd30, rbp = 0 ---

How-To-Repeat: GENERIC + if_wpi + wpifw ( + other modules)
wlan0 with WPA2 authentication
Comment 1 Rene Ladan freebsd_committer freebsd_triage 2009-07-20 22:31:57 UTC
The same LOR with a different backtrace:

lock order reversal:
 1st 0xffffff80002dc018 wpi0_com_lock (wpi0_com_lock) @
/usr/src/sys/modules/wpi/../../dev/wpi/if_wpi.c:1291
 2nd 0xffffff00024c0010 wpi0 (network driver) @
/usr/src/sys/modules/wpi/../../dev/wpi/if_wpi.c:2068
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x81e
_mtx_lock_flags() at _mtx_lock_flags+0x78
wpi_raw_xmit() at wpi_raw_xmit+0x7a
ieee80211_send_mgmt() at ieee80211_send_mgmt+0x4d5
sta_newstate() at sta_newstate+0x42e
wpi_newstate() at wpi_newstate+0xee
ieee80211_newstate_cb() at ieee80211_newstate_cb+0xac
taskqueue_run() at taskqueue_run+0x96
taskqueue_thread_loop() at taskqueue_thread_loop+0x3f
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffff803c22bd30, rbp = 0 ---
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2009-07-25 02:27:46 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-net

Over to maintainer(s).
Comment 3 Gavin Atkinson freebsd_committer freebsd_triage 2011-04-11 23:46:18 UTC
Responsible Changed
From-To: freebsd-net->freebsd-wireless

Over to maintainer(s)
Comment 4 Andriy Voskoboinyk freebsd_committer freebsd_triage 2016-01-18 20:09:42 UTC
Should be fixed after r280113.