diff options
author | Chun-Yeow Yeoh <yeohchunyeow@gmail.com> | 2012-09-14 14:18:31 +0800 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-09-14 14:25:16 +0200 |
commit | 9385d04f2872057a2029901190391fe192b18693 (patch) | |
tree | 6da5ee5fa8dc2831dd6e91acb77bbd9f848e7967 | |
parent | 5d8e4237d2dc73b51ac66dc612c5c42dd7424479 (diff) | |
download | op-kernel-dev-9385d04f2872057a2029901190391fe192b18693.zip op-kernel-dev-9385d04f2872057a2029901190391fe192b18693.tar.gz |
mac80211: allow re-open the blocked peer link in mesh
Peer link which is blocked using the "iw mesh0 station
set <MAC addr> plink_action block" is previously not able
to re-open using "iw mesh0 station set <MAC addr>
plink_action open". This patch is intended to solve this.
If the station plink state remains at OPN_SNT once open,
try block and open again should solve this problem.
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/mac80211/mesh_plink.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index 9d7ad36..3ab34d8 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c @@ -537,7 +537,8 @@ int mesh_plink_open(struct sta_info *sta) spin_lock_bh(&sta->lock); get_random_bytes(&llid, 2); sta->llid = llid; - if (sta->plink_state != NL80211_PLINK_LISTEN) { + if (sta->plink_state != NL80211_PLINK_LISTEN && + sta->plink_state != NL80211_PLINK_BLOCKED) { spin_unlock_bh(&sta->lock); return -EBUSY; } |