diff mbox

mac80211: fix the increment of mesh precedence value

Message ID 1390373584-24716-1-git-send-email-yeohchunyeow@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Chun-Yeow Yeoh Jan. 22, 2014, 6:53 a.m. UTC
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: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
---
 net/mac80211/cfg.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Johannes Berg Jan. 22, 2014, 9:02 a.m. UTC | #1
On Wed, 2014-01-22 at 14:53 +0800, Chun-Yeow Yeoh wrote:
> 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.

Applied.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 032081c..e948b38 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -3207,13 +3207,13 @@  int ieee80211_channel_switch(struct wiphy *wiphy, struct net_device *dev,
 		    params->chandef.chan->band)
 			return -EINVAL;
 
-		if (!ifmsh->pre_value)
-			ifmsh->pre_value = 1;
-		else
-			ifmsh->pre_value++;
-
-		if (ifmsh->csa_role == IEEE80211_MESH_CSA_ROLE_NONE)
+		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++;
+		}
 
 		/* see comments in the NL80211_IFTYPE_AP block */
 		if (params->count > 1) {