mac80211: Don't merge with the same BSSID
PATCH 1/1 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.
---
net/mac80211/ibss.c +0 -0
@@ -291,6 +291,10 @@ static void ieee80211_rx_bss_info(struct ieee80211=
_sub_if_data *sdata,
sdata->u.ibss.ssid_len))
goto put_bss;
=20
+ /* same BSSID */
+ if (memcmp(bss->cbss.bssid, sdata->u.ibss.bssid, ETH_ALEN) =3D=3D 0)
+ goto put_bss;
+
if (rx_status->flag & RX_FLAG_TSFT) {
/*
* For correct IBSS merging we need mactime; since mactime is
--=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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireles= s" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 3 lines · Alina Friedrichsen
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 <[email protected]>
Quoted 17 lines
---
net/mac80211/ibss.c +4
-0@@ -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