2014-01-22 06:53:23

by Chun-Yeow Yeoh

[permalink] [raw]
Subject: [PATCH] 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: Chun-Yeow Yeoh <[email protected]>
---
net/mac80211/cfg.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

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) {
--
1.7.9.5



2014-01-22 09:03:01

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: fix the increment of mesh precedence value

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