Skip to content

Commit

Permalink
wifi: iwlwifi: mvm: initialize rates in FW earlier
Browse files Browse the repository at this point in the history
[ Upstream commit d3b2c6c65bfd3b9616084e91bd0d402964ea7cef ]

When connecting to an AP, we currently initialize the rate
control only after associating. Since we now use firmware
to assign rates to auth/assoc frames rather than using the
data in the station and the firmware doesn't know, they're
transmitted using low mandatory rates. However, if the AP
advertised only higher supported rates we want to use them
to be nicer (it still must receive mandatory rates though),
so send the information to the firmware earlier to have it
know about it and be able to use it.

Fixes: 499d027 ("wifi: iwlwifi: Use FW rate for non-data frames")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240128084842.ed7ab1c859c2.I4b4d4fc3905c8d8470fc0fee4648f25c950c9bb7@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
jmberg-intel authored and Sasha Levin committed Mar 26, 2024
1 parent 45eacd7 commit 82aebbd
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
Expand Up @@ -3677,6 +3677,19 @@ iwl_mvm_sta_state_notexist_to_none(struct iwl_mvm *mvm,
if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls)
mvmvif->ap_sta = sta;

/*
* Initialize the rates here already - this really tells
* the firmware only what the supported legacy rates are
* (may be) since it's initialized already from what the
* AP advertised in the beacon/probe response. This will
* allow the firmware to send auth/assoc frames with one
* of the supported rates already, rather than having to
* use a mandatory rate.
* If we're the AP, we'll just assume mandatory rates at
* this point, but we know nothing about the STA anyway.
*/
iwl_mvm_rs_rate_init_all_links(mvm, vif, sta);

return 0;
}

Expand Down

0 comments on commit 82aebbd

Please sign in to comment.