From: Alina Friedrichsen Date: Sat, 21 Feb 2009 23:07:28 +0000 (+0100) Subject: mac80211: Don't merge with the same BSSID X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=34e8f082;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: John W. Linville --- 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, sdata->u.ibss.ssid_len)) goto put_bss; + /* same BSSID */ + if (memcmp(bss->cbss.bssid, sdata->u.ibss.bssid, ETH_ALEN) == 0) + goto put_bss; + if (rx_status->flag & RX_FLAG_TSFT) { /* * For correct IBSS merging we need mactime; since mactime is