wifi: iwlwifi: mvm: call ieee80211_sta_recalc_aggregates on A-MSDU size update
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Fri, 10 May 2024 14:06:37 +0000 (17:06 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 23 May 2024 08:50:36 +0000 (10:50 +0200)
The driver needs to call this function when the A-MSDU size changes.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240510170500.632ee6612a79.Ice3a536a4cbfe60d0edfa231fcb79ee7ab9495dd@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c

index 031b5e70d1811289e5682e3355642102e583d353..05715e5af6ab3ad7dbbf1de5021a2faf626aa602 100644 (file)
@@ -514,6 +514,8 @@ void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm,
                                link_sta->agg.max_tid_amsdu_len[i] = 1;
                }
 
+               ieee80211_sta_recalc_aggregates(sta);
+
                IWL_DEBUG_RATE(mvm,
                               "AMSDU update. AMSDU size: %d, AMSDU selected size: %d, AMSDU TID bitmap 0x%X\n",
                               le32_to_cpu(notif->amsdu_size), size,
@@ -654,6 +656,7 @@ void iwl_mvm_rs_fw_rate_init(struct iwl_mvm *mvm,
         * that only vht/ht is used and also set it as station max amsdu
         */
        link_sta->agg.max_amsdu_len = max_amsdu_len;
+       ieee80211_sta_recalc_aggregates(sta);
 
        cfg_cmd.max_tx_op = cpu_to_le16(mvmvif->max_tx_op);