diff options
author | John W. Linville <linville@tuxdriver.com> | 2014-09-08 11:14:56 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-09-08 11:14:56 -0400 |
commit | 61a3d4f9d52c00b2016bc27fc66b10a194043f76 (patch) | |
tree | 938a7bd50bbef0215a20dfec99007b4c30828019 /net/mac80211/mesh_plink.c | |
parent | db906eb2101b0564b0c65edf4a8647395196342e (diff) | |
parent | 1bd3fa7b8c9b2936c16c6e6452f9cc991c405872 (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.c | 7 |
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 | ||
1079 | unlock_rcu: | 1084 | unlock_rcu: |