Skip to content

Commit c2d8b7f

Browse files
committed
wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock
Lockdep points out that we can deadlock here by calling cancel_delayed_work_sync() because that might be already running and gotten interrupted by the NAPI soft-IRQ. Even just calling something that can sleep is wrong in this context though. Luckily, it doesn't even really matter since the things we need to do are idempotent, so just drop the _sync(). Fixes: e5d153e ("iwlwifi: mvm: fix CSA AP side") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230514120631.b1813c823b4d.I9d20cc06d24fa40b6774d3dd95ea5e2bf8dd015b@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
1 parent 9e949df commit c2d8b7f

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

  • drivers/net/wireless/intel/iwlwifi/mvm

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2512,7 +2512,7 @@ void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,
25122512
RCU_INIT_POINTER(mvm->csa_tx_blocked_vif, NULL);
25132513
/* Unblock BCAST / MCAST station */
25142514
iwl_mvm_modify_all_sta_disable_tx(mvm, mvmvif, false);
2515-
cancel_delayed_work_sync(&mvm->cs_tx_unblock_dwork);
2515+
cancel_delayed_work(&mvm->cs_tx_unblock_dwork);
25162516
}
25172517
}
25182518

0 commit comments

Comments
 (0)