X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/922c0b910df7440c41cb51d5df1856a3110a0498..b01bdf52367eeca10b824cfbb64ee360fee20cb1:/package/madwifi/patches/346-protmode_trig.patch diff --git a/package/madwifi/patches/346-protmode_trig.patch b/package/madwifi/patches/346-protmode_trig.patch index cf28aaab4..0abae5181 100644 --- a/package/madwifi/patches/346-protmode_trig.patch +++ b/package/madwifi/patches/346-protmode_trig.patch @@ -1,7 +1,5 @@ -Index: madwifi-trunk-r3314/net80211/ieee80211.c -=================================================================== ---- madwifi-trunk-r3314.orig/net80211/ieee80211.c 2008-04-21 05:22:20.000000000 +0200 -+++ madwifi-trunk-r3314/net80211/ieee80211.c 2008-04-21 05:23:46.000000000 +0200 +--- a/net80211/ieee80211.c ++++ b/net80211/ieee80211.c @@ -333,7 +333,9 @@ IEEE80211_MS_TO_TU(IEEE80211_BMISSTHRESH_DEFAULT_MS), ic->ic_lintval), ic->ic_lintval); @@ -13,11 +11,9 @@ Index: madwifi-trunk-r3314/net80211/ieee80211.c IEEE80211_LOCK_INIT(ic, "ieee80211com"); IEEE80211_VAPS_LOCK_INIT(ic, "ieee80211com_vaps"); TAILQ_INIT(&ic->ic_vaps); -Index: madwifi-trunk-r3314/net80211/ieee80211_input.c -=================================================================== ---- madwifi-trunk-r3314.orig/net80211/ieee80211_input.c 2008-04-21 05:22:32.000000000 +0200 -+++ madwifi-trunk-r3314/net80211/ieee80211_input.c 2008-04-21 05:23:46.000000000 +0200 -@@ -3412,16 +3412,32 @@ +--- a/net80211/ieee80211_input.c ++++ b/net80211/ieee80211_input.c +@@ -3411,14 +3411,18 @@ IEEE80211_IS_CHAN_ANYG(ic->ic_curchan)) { /* Assume no ERP IE == 11b AP */ @@ -40,25 +36,9 @@ Index: madwifi-trunk-r3314/net80211/ieee80211_input.c + ic->ic_protmode_lasttrig = jiffies; } } -+ if ((ic->ic_flags & IEEE80211_F_USEPROT) && -+ (ic->ic_protmode_lasttrig + ic->ic_protmode_timeout * HZ < -+ jiffies)) { -+ struct ieee80211vap *tmpvap; -+ -+ /* expire protection mode */ -+ ic->ic_flags &= ~IEEE80211_F_USEPROT; -+ TAILQ_FOREACH(tmpvap, &ic->ic_vaps, iv_next) { -+ tmpvap->iv_flags_ext |= IEEE80211_FEXT_ERPUPDATE; -+ } -+ } -+ - /* - * If scanning, just pass information to the scan module. -Index: madwifi-trunk-r3314/net80211/ieee80211_ioctl.h -=================================================================== ---- madwifi-trunk-r3314.orig/net80211/ieee80211_ioctl.h 2008-04-21 05:22:20.000000000 +0200 -+++ madwifi-trunk-r3314/net80211/ieee80211_ioctl.h 2008-04-21 05:23:46.000000000 +0200 +--- a/net80211/ieee80211_ioctl.h ++++ b/net80211/ieee80211_ioctl.h @@ -643,6 +643,8 @@ IEEE80211_PARAM_BEACON_MISS_THRESH_MS = 74, /* Beacon miss threshold (in ms) */ IEEE80211_PARAM_MAXRATE = 75, /* Maximum rate (by table index) */ @@ -68,10 +48,8 @@ Index: madwifi-trunk-r3314/net80211/ieee80211_ioctl.h }; #define SIOCG80211STATS (SIOCDEVPRIVATE+2) -Index: madwifi-trunk-r3314/net80211/ieee80211_var.h -=================================================================== ---- madwifi-trunk-r3314.orig/net80211/ieee80211_var.h 2008-04-21 05:22:20.000000000 +0200 -+++ madwifi-trunk-r3314/net80211/ieee80211_var.h 2008-04-21 05:41:45.000000000 +0200 +--- a/net80211/ieee80211_var.h ++++ b/net80211/ieee80211_var.h @@ -128,6 +128,9 @@ #define IEEE80211_APPIE_MAX 1024 @@ -92,10 +70,8 @@ Index: madwifi-trunk-r3314/net80211/ieee80211_var.h /* Channel state: * -Index: madwifi-trunk-r3314/net80211/ieee80211_wireless.c -=================================================================== ---- madwifi-trunk-r3314.orig/net80211/ieee80211_wireless.c 2008-04-21 05:22:20.000000000 +0200 -+++ madwifi-trunk-r3314/net80211/ieee80211_wireless.c 2008-04-21 05:23:46.000000000 +0200 +--- a/net80211/ieee80211_wireless.c ++++ b/net80211/ieee80211_wireless.c @@ -2312,6 +2312,12 @@ IEEE80211_IS_CHAN_ANYG(ic->ic_bsschan)) retv = ENETRESET; @@ -137,3 +113,23 @@ Index: madwifi-trunk-r3314/net80211/ieee80211_wireless.c { IEEE80211_PARAM_MCASTCIPHER, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "mcastcipher" }, { IEEE80211_PARAM_MCASTCIPHER, +--- a/net80211/ieee80211_node.c ++++ b/net80211/ieee80211_node.c +@@ -1877,6 +1877,17 @@ + + ieee80211_scan_timeout(ic); + ieee80211_timeout_stations(&ic->ic_sta); ++ if ((ic->ic_flags & IEEE80211_F_USEPROT) && ++ (ic->ic_protmode_lasttrig + ic->ic_protmode_timeout * HZ < ++ jiffies)) { ++ struct ieee80211vap *tmpvap; ++ ++ /* expire protection mode */ ++ ic->ic_flags &= ~IEEE80211_F_USEPROT; ++ TAILQ_FOREACH(tmpvap, &ic->ic_vaps, iv_next) { ++ tmpvap->iv_flags_ext |= IEEE80211_FEXT_ERPUPDATE; ++ } ++ } + + ic->ic_inact.expires = jiffies + IEEE80211_INACT_WAIT * HZ; + add_timer(&ic->ic_inact);