diff options
author | Chun-Yeow Yeoh <yeohchunyeow@gmail.com> | 2012-09-14 02:18:31 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-09-14 08:25:16 -0400 |
commit | 9385d04f2872057a2029901190391fe192b18693 (patch) | |
tree | 6da5ee5fa8dc2831dd6e91acb77bbd9f848e7967 /net/mac80211/mesh_plink.c | |
parent | 5d8e4237d2dc73b51ac66dc612c5c42dd7424479 (diff) |
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>
Diffstat (limited to 'net/mac80211/mesh_plink.c')
-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 9d7ad366ef09..3ab34d816897 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) | |||
537 | spin_lock_bh(&sta->lock); | 537 | spin_lock_bh(&sta->lock); |
538 | get_random_bytes(&llid, 2); | 538 | get_random_bytes(&llid, 2); |
539 | sta->llid = llid; | 539 | sta->llid = llid; |
540 | if (sta->plink_state != NL80211_PLINK_LISTEN) { | 540 | if (sta->plink_state != NL80211_PLINK_LISTEN && |
541 | sta->plink_state != NL80211_PLINK_BLOCKED) { | ||
541 | spin_unlock_bh(&sta->lock); | 542 | spin_unlock_bh(&sta->lock); |
542 | return -EBUSY; | 543 | return -EBUSY; |
543 | } | 544 | } |