wifi: iwlwifi: mvm: don't change BA sessions during restart
authorJohannes Berg <johannes.berg@intel.com>
Wed, 20 Mar 2024 21:26:37 +0000 (23:26 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Mar 2024 14:39:55 +0000 (15:39 +0100)
During restart, we haven't added BA sessions, so we also cannot
change them to switch between links when that happens in restart.
Short-circuit the appropriate function.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240320232419.70ba08540db0.Ic604d384e660c755308a49a79d3f7e78bc27597c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c

index 8de721de2c37a6630876120de26b8ca1eb678863..d9738fe6f9675008a2a449d352a64f6fa215b3c5 100644 (file)
@@ -984,6 +984,10 @@ static int iwl_mvm_mld_update_sta_baids(struct iwl_mvm *mvm,
        u32 cmd_id = WIDE_ID(DATA_PATH_GROUP, RX_BAID_ALLOCATION_CONFIG_CMD);
        int baid;
 
+       /* mac80211 will remove sessions later, but we ignore all that */
+       if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))
+               return 0;
+
        BUILD_BUG_ON(sizeof(struct iwl_rx_baid_cfg_resp) != sizeof(baid));
 
        for (baid = 0; baid < ARRAY_SIZE(mvm->baid_map); baid++) {