aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mesh_plink.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2014-09-08 11:14:56 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-09-08 11:14:56 -0400
commit61a3d4f9d52c00b2016bc27fc66b10a194043f76 (patch)
tree938a7bd50bbef0215a20dfec99007b4c30828019 /net/mac80211/mesh_plink.c
parentdb906eb2101b0564b0c65edf4a8647395196342e (diff)
parent1bd3fa7b8c9b2936c16c6e6452f9cc991c405872 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'net/mac80211/mesh_plink.c')
-rw-r--r--net/mac80211/mesh_plink.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
index 8f0887fc7128..b488e1859b18 100644
--- a/net/mac80211/mesh_plink.c
+++ b/net/mac80211/mesh_plink.c
@@ -957,7 +957,8 @@ mesh_plink_get_event(struct ieee80211_sub_if_data *sdata,
957 if (!matches_local) 957 if (!matches_local)
958 event = CNF_RJCT; 958 event = CNF_RJCT;
959 if (!mesh_plink_free_count(sdata) || 959 if (!mesh_plink_free_count(sdata) ||
960 (sta->llid != llid || sta->plid != plid)) 960 sta->llid != llid ||
961 (sta->plid && sta->plid != plid))
961 event = CNF_IGNR; 962 event = CNF_IGNR;
962 else 963 else
963 event = CNF_ACPT; 964 event = CNF_ACPT;
@@ -1074,6 +1075,10 @@ mesh_process_plink_frame(struct ieee80211_sub_if_data *sdata,
1074 goto unlock_rcu; 1075 goto unlock_rcu;
1075 } 1076 }
1076 1077
1078 /* 802.11-2012 13.3.7.2 - update plid on CNF if not set */
1079 if (!sta->plid && event == CNF_ACPT)
1080 sta->plid = plid;
1081
1077 changed |= mesh_plink_fsm(sdata, sta, event); 1082 changed |= mesh_plink_fsm(sdata, sta, event);
1078 1083
1079unlock_rcu: 1084unlock_rcu: