diff options
author | Alina Friedrichsen <x-alina@gmx.net> | 2009-02-21 18:07:28 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-02-27 14:53:02 -0500 |
commit | 34e8f08231388f9e16c6f1e2461f53afaf7f1e5e (patch) | |
tree | 5c6a13def74dad34571c35a508dff235635939b3 /net/mac80211/ibss.c | |
parent | 204b190cabf901b4bdece2006acc15a8978288db (diff) |
mac80211: Don't merge with the same BSSID
It was not a good idea to do a TSF reset on strange IBSS merges to the same BSSID. For example it will break the TSF sync of ath9k completely and it is unnecessary as all hardware I have tested do a TSF sync to a higher value automatically and IBSS merges are only done to higher TSF values. It only need a TSF reset to accept a lower value, when the IBSS network is changed manually.
Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r-- | net/mac80211/ibss.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index aa8937c56285..7a944ca1c840 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c | |||
@@ -291,6 +291,10 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata, | |||
291 | sdata->u.ibss.ssid_len)) | 291 | sdata->u.ibss.ssid_len)) |
292 | goto put_bss; | 292 | goto put_bss; |
293 | 293 | ||
294 | /* same BSSID */ | ||
295 | if (memcmp(bss->cbss.bssid, sdata->u.ibss.bssid, ETH_ALEN) == 0) | ||
296 | goto put_bss; | ||
297 | |||
294 | if (rx_status->flag & RX_FLAG_TSFT) { | 298 | if (rx_status->flag & RX_FLAG_TSFT) { |
295 | /* | 299 | /* |
296 | * For correct IBSS merging we need mactime; since mactime is | 300 | * For correct IBSS merging we need mactime; since mactime is |