diff options
-rw-r--r-- | net/mac80211/ibss.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 7a944ca1c840..a96ce9dfc6b5 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #define IEEE80211_IBSS_JOIN_TIMEOUT (7 * HZ) | 29 | #define IEEE80211_IBSS_JOIN_TIMEOUT (7 * HZ) |
30 | 30 | ||
31 | #define IEEE80211_IBSS_MERGE_INTERVAL (30 * HZ) | 31 | #define IEEE80211_IBSS_MERGE_INTERVAL (30 * HZ) |
32 | #define IEEE80211_IBSS_MERGE_DELAY 0x400000 | ||
32 | #define IEEE80211_IBSS_INACTIVITY_LIMIT (60 * HZ) | 33 | #define IEEE80211_IBSS_INACTIVITY_LIMIT (60 * HZ) |
33 | 34 | ||
34 | #define IEEE80211_IBSS_MAX_STA_ENTRIES 128 | 35 | #define IEEE80211_IBSS_MAX_STA_ENTRIES 128 |
@@ -336,6 +337,10 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata, | |||
336 | jiffies); | 337 | jiffies); |
337 | #endif | 338 | #endif |
338 | 339 | ||
340 | /* give slow hardware some time to do the TSF sync */ | ||
341 | if (rx_timestamp < IEEE80211_IBSS_MERGE_DELAY) | ||
342 | goto put_bss; | ||
343 | |||
339 | if (beacon_timestamp > rx_timestamp) { | 344 | if (beacon_timestamp > rx_timestamp) { |
340 | #ifdef CONFIG_MAC80211_IBSS_DEBUG | 345 | #ifdef CONFIG_MAC80211_IBSS_DEBUG |
341 | printk(KERN_DEBUG "%s: beacon TSF higher than " | 346 | printk(KERN_DEBUG "%s: beacon TSF higher than " |