@@ -413,11 +413,12 @@ struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata,
sta->sta.supp_rates[band] = supp_rates |
ieee80211_mandatory_rates(local, band);
- rate_control_rate_init(sta);
if (sta_info_insert(sta))
return NULL;
+ rate_control_rate_init(sta);
+
return sta;
}
@@ -1554,8 +1554,6 @@ ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
ap_ht_cap_flags = sta->sta.ht_cap.cap;
- rate_control_rate_init(sta);
-
if (ifmgd->flags & IEEE80211_STA_MFP_ENABLED)
set_sta_flags(sta, WLAN_STA_MFP);
@@ -1572,6 +1570,8 @@ ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
}
}
+ rate_control_rate_init(sta);
+
rcu_read_unlock();
if (elems.wmm_param)