diff mbox series

[09/12] iwlwifi: mvm: remove session protection on disassoc

Message ID iwlwifi.20211024181719.6192e2363784.Ie9c2bfdc30dcfff2c4dd7c393c79e3ac182840a9@changeid (mailing list archive)
State Accepted
Commit cf7a7457a362aa868c7d66b1ccbd20b9872a2ff9
Delegated to: Luca Coelho
Headers show
Series iwlwifi: updates intended for v5.16 2021-10-24 part 2 | expand

Commit Message

Luca Coelho Oct. 24, 2021, 3:20 p.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

If we somehow get disassociated while still waiting for a beacon
during connection, we can end up printing the

  No beacon heard and the session protection is over already...

message even if we aren't really quite waiting for it anymore.
Remove the time event, if it's running, when we get disassociated
and don't need to wait for beacons anymore.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 2645dd8fef83..d7d7d8a85c6d 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -3237,6 +3237,9 @@  static int iwl_mvm_mac_sta_state(struct ieee80211_hw *hw,
 		if (vif->type == NL80211_IFTYPE_AP) {
 			mvmvif->ap_assoc_sta_count--;
 			iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
+		} else if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) {
+			/* remove session protection if still running */
+			iwl_mvm_stop_session_protection(mvm, vif);
 		}
 		ret = 0;
 	} else if (old_state == IEEE80211_STA_AUTH &&