diff options
Diffstat (limited to 'package/madwifi/patches/368-sta_ie_preserve.patch')
-rw-r--r-- | package/madwifi/patches/368-sta_ie_preserve.patch | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/package/madwifi/patches/368-sta_ie_preserve.patch b/package/madwifi/patches/368-sta_ie_preserve.patch deleted file mode 100644 index fbd779ea0b..0000000000 --- a/package/madwifi/patches/368-sta_ie_preserve.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- a/net80211/ieee80211_scan_sta.c -+++ b/net80211/ieee80211_scan_sta.c -@@ -201,8 +201,10 @@ sta_flush_table(struct sta_table *st) - } - - static void --saveie(u_int8_t **iep, const u_int8_t *ie) -+saveie(u_int8_t **iep, const u_int8_t *ie, int preserve) - { -+ if (preserve && *iep) -+ return; - if (ie == NULL) - *iep = NULL; - else -@@ -304,10 +306,10 @@ found: - (const struct ieee80211_tim_ie *) sp->tim; - ise->se_dtimperiod = tim->tim_period; - } -- saveie(&ise->se_wme_ie, sp->wme); -- saveie(&ise->se_wpa_ie, sp->wpa); -- saveie(&ise->se_rsn_ie, sp->rsn); -- saveie(&ise->se_ath_ie, sp->ath); -+ saveie(&ise->se_wme_ie, sp->wme, 0); -+ saveie(&ise->se_wpa_ie, sp->wpa, !sp->isprobe); -+ saveie(&ise->se_rsn_ie, sp->rsn, !sp->isprobe); -+ saveie(&ise->se_ath_ie, sp->ath, 0); - - /* clear failure count after STA_FAIL_AGE passes */ - if (se->se_fails && (jiffies - se->se_lastfail) > STA_FAILS_AGE*HZ) { ---- a/net80211/ieee80211_input.c -+++ b/net80211/ieee80211_input.c -@@ -3106,6 +3106,7 @@ ieee80211_recv_mgmt(struct ieee80211vap - */ - IEEE80211_VERIFY_LENGTH(efrm - frm, 12); - memset(&scan, 0, sizeof(scan)); -+ scan.isprobe = (subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP) && IEEE80211_ADDR_EQ(wh->i_addr2, vap->iv_myaddr); - scan.tstamp = frm; - frm += 8; - scan.bintval = le16toh(*(__le16 *)frm); ---- a/net80211/ieee80211_scan.h -+++ b/net80211/ieee80211_scan.h -@@ -133,6 +133,7 @@ struct ieee80211_scanparams { - u_int8_t erp; - u_int16_t bintval; - u_int8_t timoff; -+ u_int8_t isprobe; - u_int8_t *tim; - u_int8_t *tstamp; - u_int8_t *country; |