Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bae35d92 authored by Chun-Yeow Yeoh's avatar Chun-Yeow Yeoh Committed by Johannes Berg
Browse files

mac80211: don't re-init rate control when receiving mesh beacon



Rate control is re-initialized whenever a beacon from a mesh
peer received, breaking the algorithms and resulting in low
performance. Return early from mesh_peer_init if we already
established a link with this peer to avoid this.

Signed-off-by: default avatarChun-Yeow Yeoh <yeohchunyeow@gmail.com>
[clarify commit message]
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 173f8654
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -362,6 +362,11 @@ static struct sta_info *mesh_peer_init(struct ieee80211_sub_if_data *sdata,

	spin_lock_bh(&sta->lock);
	sta->last_rx = jiffies;
	if (sta->plink_state == NL80211_PLINK_ESTAB) {
		spin_unlock_bh(&sta->lock);
		return sta;
	}

	sta->sta.supp_rates[band] = rates;
	if (elems->ht_cap_elem &&
	    sdata->local->_oper_channel_type != NL80211_CHAN_NO_HT)