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

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

mac80211: fix the increment of mesh precedence value



The mesh precedence value in ieee80211_channel_switch
should be incremented or set to 1 only if this is the
initiator of mesh channel switch. For non-initiator,
the precedence value has updated using the Mesh
Channel Switch Parameters element. Fix this.

Signed-off-by: default avatarChun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 772f0389
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -3207,13 +3207,13 @@ int ieee80211_channel_switch(struct wiphy *wiphy, struct net_device *dev,
		    params->chandef.chan->band)
			return -EINVAL;

		if (ifmsh->csa_role == IEEE80211_MESH_CSA_ROLE_NONE) {
			ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_INIT;
			if (!ifmsh->pre_value)
				ifmsh->pre_value = 1;
			else
				ifmsh->pre_value++;

		if (ifmsh->csa_role == IEEE80211_MESH_CSA_ROLE_NONE)
			ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_INIT;
		}

		/* see comments in the NL80211_IFTYPE_AP block */
		if (params->count > 1) {