diff mbox

mac80211: allow re-open the blocked peer link in mesh

Message ID 1347603511-31165-1-git-send-email-yeohchunyeow@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Chun-Yeow Yeoh Sept. 14, 2012, 6:18 a.m. UTC
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>
---
 net/mac80211/mesh_plink.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

Comments

Johannes Berg Sept. 14, 2012, 12:25 p.m. UTC | #1
On Fri, 2012-09-14 at 14:18 +0800, Chun-Yeow Yeoh wrote:
> 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.

Applied.

> If the station plink state remains at OPN_SNT once open,
> try block and open again should solve this problem.

Not really sure I understand this part, but whatever :)

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
?? Sept. 14, 2012, 12:29 p.m. UTC | #2
I have modified the souce code as the patch shows.I'm sorry that it doesn't work and station plink state is still BLOCKED.
At 2012-09-14 14:18:31,"Chun-Yeow Yeoh" <yeohchunyeow@gmail.com> wrote:
>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>
>---
> 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;
> 	}
>-- 
>1.7.0.4
>
>_______________________________________________
>Devel mailing list
>Devel@lists.open80211s.org
>http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
?? Sept. 14, 2012, 12:52 p.m. UTC | #3
I'm sorry that I made a mistake in the process of modifying the source code.Now it works well.Thank you for your help!
At 2012-09-14 20:29:32,"??" <lishen565@126.com> wrote:
>I have modified the souce code as the patch shows.I'm sorry that it doesn't work and station plink state is still BLOCKED.
>At 2012-09-14 14:18:31,"Chun-Yeow Yeoh" <yeohchunyeow@gmail.com> wrote:
>>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>
>>---
>> 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;
>> 	}
>>-- 
>>1.7.0.4
>>
>>_______________________________________________
>>Devel mailing list
>>Devel@lists.open80211s.org
>>http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
>
>_______________________________________________
>Devel mailing list
>Devel@lists.open80211s.org
>http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chun-Yeow Yeoh Sept. 14, 2012, 3:10 p.m. UTC | #4
Great to hear that it works.

---
Chun-Yeow

On Fri, Sep 14, 2012 at 8:52 PM, ?? <lishen565@126.com> wrote:
> I'm sorry that I made a mistake in the process of modifying the source code.Now it works well.Thank you for your help!
> At 2012-09-14 20:29:32,"??" <lishen565@126.com> wrote:
>>I have modified the souce code as the patch shows.I'm sorry that it doesn't work and station plink state is still BLOCKED.
>>At 2012-09-14 14:18:31,"Chun-Yeow Yeoh" <yeohchunyeow@gmail.com> wrote:
>>>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>
>>>---
>>> 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;
>>>      }
>>>--
>>>1.7.0.4
>>>
>>>_______________________________________________
>>>Devel mailing list
>>>Devel@lists.open80211s.org
>>>http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
>>
>>_______________________________________________
>>Devel mailing list
>>Devel@lists.open80211s.org
>>http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
>
> _______________________________________________
> Devel mailing list
> Devel@lists.open80211s.org
> http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;
 	}