aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg <[email protected]>2020-12-09 23:16:44 +0200
committerLuca Coelho <[email protected]>2020-12-10 00:16:04 +0200
commit87d9564e14cf5d05e4f1fa4eb7c55d798427f1dd (patch)
tree3699be25b617f12ae86124252106fd2c84f80dc3
parent906d4eb84408a4bfd63eef0de4f1bd5262f73ac0 (diff)
iwlwifi: mvm: disconnect if channel switch delay is too long
If the channel switch delay that we would incur after the channel switch actually happens is longer than the quiet time we're willing to tolerate, disconnect as well. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20201209231352.3bc3449922da.Ib0255deb67b2fc21317e274adcacb545bb1dc669@changeid Signed-off-by: Luca Coelho <[email protected]>
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 7229617f06cd..b4b65e9bb480 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -4548,6 +4548,9 @@ static int iwl_mvm_pre_channel_switch(struct ieee80211_hw *hw,
break;
case NL80211_IFTYPE_STATION:
+ if (chsw->delay > IWL_MAX_CSA_BLOCK_TX)
+ schedule_delayed_work(&mvmvif->csa_work, 0);
+
if (chsw->block_tx) {
/*
* In case of undetermined / long time with immediate