2009-02-21 21:52:06

by Alina Friedrichsen

[permalink] [raw]
Subject: [PATCH] mac80211: Give it some time to do the TSF sync

Give slow hardware some time to do the TSF sync, to not run into an IBS=
S merging endless loop in some rarely situations.

Signed-off-by: Alina Friedrichsen <[email protected]>
---
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 1bbfc70..896e45c 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -332,7 +332,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_=
sub_if_data *sdata,
jiffies);
#endif
=20
- if (beacon_timestamp > rx_timestamp) {
+ if (beacon_timestamp > rx_timestamp && rx_timestamp > 0x400000) {
#ifdef CONFIG_MAC80211_IBSS_DEBUG
printk(KERN_DEBUG "%s: beacon TSF higher than "
"local TSF - IBSS merge with BSSID %pM\n",

--=20
Jetzt 1 Monat kostenlos! GMX FreeDSL - Telefonanschluss + DSL=20
f=FCr nur 17,95 Euro/mtl.!* http://dsl.gmx.de/?ac=3DOM.AD.PD003K11308T4=
569a


2009-02-21 22:04:28

by Michael Büsch

[permalink] [raw]
Subject: Re: [PATCH] mac80211: Give it some time to do the TSF sync

On Saturday 21 February 2009 22:52:02 Alina Friedrichsen wrote:
> Give slow hardware some time to do the TSF sync, to not run into an IBSS merging endless loop in some rarely situations.

It would be great to put this into a source code comment.
Without this knowledge one immediately gets a WTF-lookalike face when seeing this code.

> Signed-off-by: Alina Friedrichsen <[email protected]>
> ---
> diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
> index 1bbfc70..896e45c 100644
> --- a/net/mac80211/ibss.c
> +++ b/net/mac80211/ibss.c
> @@ -332,7 +332,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
> jiffies);
> #endif
>
> - if (beacon_timestamp > rx_timestamp) {
> + if (beacon_timestamp > rx_timestamp && rx_timestamp > 0x400000) {
> #ifdef CONFIG_MAC80211_IBSS_DEBUG
> printk(KERN_DEBUG "%s: beacon TSF higher than "
> "local TSF - IBSS merge with BSSID %pM\n",
>



--
Greetings, Michael.

2009-02-22 06:45:55

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] mac80211: Give it some time to do the TSF sync

Michael Buesch <[email protected]> writes:

> On Saturday 21 February 2009 22:52:02 Alina Friedrichsen wrote:
>> Give slow hardware some time to do the TSF sync, to not run into an IBSS merging endless loop in some rarely situations.
>
> It would be great to put this into a source code comment. Without
> this knowledge one immediately gets a WTF-lookalike face when seeing
> this code.

I fully agree.

>> - if (beacon_timestamp > rx_timestamp) {
>> + if (beacon_timestamp > rx_timestamp && rx_timestamp > 0x400000) {

And no magic numbers, please. Create a define for that.

--
Kalle Valo