Skip to content

Commit f5ae2f9

Browse files
jmberg-intellucacoelho
authored andcommitted
iwlwifi: mvm: avoid possible deadlock in TX path
iwl_mvm_tx_mpdu() may run from iwl_mvm_add_new_dqa_stream_wk(), where soft-IRQs aren't disabled. In this case, it may hold the station lock and be interrupted by a soft-IRQ that also wants to acquire said lock, leading to a deadlock. Fix it by disabling soft-IRQs in iwl_mvm_add_new_dqa_stream_wk(). Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
1 parent 4837696 commit f5ae2f9

File tree

1 file changed

+2
-0
lines changed
  • drivers/net/wireless/intel/iwlwifi/mvm

1 file changed

+2
-0
lines changed

drivers/net/wireless/intel/iwlwifi/mvm/sta.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,7 +1399,9 @@ void iwl_mvm_add_new_dqa_stream_wk(struct work_struct *wk)
13991399

14001400
iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid);
14011401
list_del_init(&mvmtxq->list);
1402+
local_bh_disable();
14021403
iwl_mvm_mac_itxq_xmit(mvm->hw, txq);
1404+
local_bh_enable();
14031405
}
14041406

14051407
mutex_unlock(&mvm->mutex);

0 commit comments

Comments
 (0)