diff options
author | John W. Linville <linville@tuxdriver.com> | 2014-09-08 19:14:56 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-09-08 19:14:56 +0400 |
commit | 61a3d4f9d52c00b2016bc27fc66b10a194043f76 (patch) | |
tree | 938a7bd50bbef0215a20dfec99007b4c30828019 /net/mac80211/mesh_plink.c | |
parent | db906eb2101b0564b0c65edf4a8647395196342e (diff) | |
parent | 1bd3fa7b8c9b2936c16c6e6452f9cc991c405872 (diff) | |
download | linux-61a3d4f9d52c00b2016bc27fc66b10a194043f76.tar.xz |
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, if (!matches_local) event = CNF_RJCT; if (!mesh_plink_free_count(sdata) || - (sta->llid != llid || sta->plid != plid)) + sta->llid != llid || + (sta->plid && sta->plid != plid)) event = CNF_IGNR; else event = CNF_ACPT; @@ -1074,6 +1075,10 @@ mesh_process_plink_frame(struct ieee80211_sub_if_data *sdata, goto unlock_rcu; } + /* 802.11-2012 13.3.7.2 - update plid on CNF if not set */ + if (!sta->plid && event == CNF_ACPT) + sta->plid = plid; + changed |= mesh_plink_fsm(sdata, sta, event); unlock_rcu: |