From: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> The field bss_params.operational_rate_set is ignore by the firmware. It is not necessary to send it. This change greatly simplify wfx_join_finalize(). It is no more necessary to get sta and it allow to save a RCU. Signed-off-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> --- drivers/staging/wfx/sta.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 2a9c7f28d934..6cdb40a05991 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -470,22 +470,12 @@ void wfx_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif) static void wfx_join_finalize(struct wfx_vif *wvif, struct ieee80211_bss_conf *info) { - struct ieee80211_sta *sta = NULL; - struct hif_req_set_bss_params bss_params = { }; - - rcu_read_lock(); // protect sta - if (info->bssid && !info->ibss_joined) - sta = ieee80211_find_sta(wvif->vif, info->bssid); - if (sta) - bss_params.operational_rate_set = - wfx_rate_mask_to_hw(wvif->wdev, sta->supp_rates[wvif->channel->band]); - else - bss_params.operational_rate_set = -1; - rcu_read_unlock(); - // beacon_loss_count is defined to 7 in net/mac80211/mlme.c. Let's use - // the same value. - bss_params.beacon_lost_count = 7; - bss_params.aid = info->aid; + struct hif_req_set_bss_params bss_params = { + // beacon_loss_count is defined to 7 in net/mac80211/mlme.c. + // Let's use the same value. + .beacon_lost_count = 7, + .aid = info->aid, + }; hif_set_association_mode(wvif, info); hif_keep_alive_period(wvif, 0); -- 2.26.1