summaryrefslogtreecommitdiff
path: root/package/madwifi/patches/457-idletime.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/madwifi/patches/457-idletime.patch')
-rw-r--r--package/madwifi/patches/457-idletime.patch151
1 files changed, 0 insertions, 151 deletions
diff --git a/package/madwifi/patches/457-idletime.patch b/package/madwifi/patches/457-idletime.patch
deleted file mode 100644
index 429da85..0000000
--- a/package/madwifi/patches/457-idletime.patch
+++ /dev/null
@@ -1,151 +0,0 @@
---- a/net80211/ieee80211.c
-+++ b/net80211/ieee80211.c
-@@ -355,6 +355,8 @@ ieee80211_ifattach(struct ieee80211com *
- /* Arbitrarily pick the first channel */
- ic->ic_curchan = &ic->ic_channels[0];
-
-+ ic->ic_inact_tick = IEEE80211_INACT_WAIT;
-+
- /* Enable marking of dfs by default */
- ic->ic_flags_ext |= IEEE80211_FEXT_MARKDFS;
-
---- a/net80211/ieee80211_var.h
-+++ b/net80211/ieee80211_var.h
-@@ -350,6 +350,7 @@ struct ieee80211com {
- u_int8_t ic_protmode_rssi; /* rssi threshold for protection mode */
- u_int64_t ic_protmode_lasttrig; /* last trigger for protection mode */
- u_int16_t ic_protmode_timeout; /* protection mode timeout */
-+ u_int16_t ic_inact_tick; /* inact timer tick interval (seconds) */
-
- /* Channel state:
- *
---- a/net80211/ieee80211_ioctl.h
-+++ b/net80211/ieee80211_ioctl.h
-@@ -591,6 +591,7 @@ enum {
- IEEE80211_PARAM_INACT_AUTH = 24, /* station auth inact timeout */
- IEEE80211_PARAM_INACT_INIT = 25, /* station init inact timeout */
- IEEE80211_PARAM_ABOLT = 26, /* Atheros Adv. Capabilities */
-+ IEEE80211_PARAM_INACT_TICK = 27, /* station inactivity timer tick (seconds) */
- IEEE80211_PARAM_DTIM_PERIOD = 28, /* DTIM period (beacons) */
- IEEE80211_PARAM_BEACON_INTERVAL = 29, /* beacon interval (ms) */
- IEEE80211_PARAM_DOTH = 30, /* 11.h is on/off */
---- a/net80211/ieee80211_wireless.c
-+++ b/net80211/ieee80211_wireless.c
-@@ -2504,13 +2504,18 @@ ieee80211_ioctl_setparam(struct net_devi
- vap->iv_flags &= ~IEEE80211_F_NOBRIDGE;
- break;
- case IEEE80211_PARAM_INACT:
-- vap->iv_inact_run = value / IEEE80211_INACT_WAIT;
-+ vap->iv_inact_run = value / ic->ic_inact_tick;
-+ break;
-+ case IEEE80211_PARAM_INACT_TICK:
-+ if (value <= 0)
-+ return -EINVAL;
-+ ic->ic_inact_tick = value;
- break;
- case IEEE80211_PARAM_INACT_AUTH:
-- vap->iv_inact_auth = value / IEEE80211_INACT_WAIT;
-+ vap->iv_inact_auth = value / ic->ic_inact_tick;
- break;
- case IEEE80211_PARAM_INACT_INIT:
-- vap->iv_inact_init = value / IEEE80211_INACT_WAIT;
-+ vap->iv_inact_init = value / ic->ic_inact_tick;
- break;
- case IEEE80211_PARAM_ABOLT:
- caps = 0;
-@@ -3050,13 +3055,16 @@ ieee80211_ioctl_getparam(struct net_devi
- param[0] = (vap->iv_flags & IEEE80211_F_NOBRIDGE) == 0;
- break;
- case IEEE80211_PARAM_INACT:
-- param[0] = vap->iv_inact_run * IEEE80211_INACT_WAIT;
-+ param[0] = vap->iv_inact_run * ic->ic_inact_tick;
- break;
- case IEEE80211_PARAM_INACT_AUTH:
-- param[0] = vap->iv_inact_auth * IEEE80211_INACT_WAIT;
-+ param[0] = vap->iv_inact_auth * ic->ic_inact_tick;
- break;
- case IEEE80211_PARAM_INACT_INIT:
-- param[0] = vap->iv_inact_init * IEEE80211_INACT_WAIT;
-+ param[0] = vap->iv_inact_init * ic->ic_inact_tick;
-+ break;
-+ case IEEE80211_PARAM_INACT_TICK:
-+ param[0] = ic->ic_inact_tick;
- break;
- case IEEE80211_PARAM_ABOLT:
- /*
-@@ -4557,14 +4565,7 @@ get_sta_info(void *arg, struct ieee80211
- si->isi_opmode = IEEE80211_STA_OPMODE_XR;
- else
- si->isi_opmode = IEEE80211_STA_OPMODE_NORMAL;
-- /* NB: leave all cases in case we relax ni_associd == 0 check */
-- if (ieee80211_node_is_authorized(ni))
-- si->isi_inact = vap->iv_inact_run;
-- else if (ni->ni_associd != 0)
-- si->isi_inact = vap->iv_inact_auth;
-- else
-- si->isi_inact = vap->iv_inact_init;
-- si->isi_inact = (si->isi_inact - ni->ni_inact) * IEEE80211_INACT_WAIT;
-+ si->isi_inact = (ni->ni_inact_reload - ni->ni_inact) * ic->ic_inact_tick;
-
- cp = (u_int8_t *)(si+1);
- if (ni->ni_rsn_ie != NULL) {
-@@ -5597,6 +5598,10 @@ static const struct iw_priv_args ieee802
- IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "inact_init" },
- { IEEE80211_PARAM_INACT_INIT,
- 0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_inact_init" },
-+ { IEEE80211_PARAM_INACT_TICK,
-+ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "inact_tick" },
-+ { IEEE80211_PARAM_INACT_TICK,
-+ 0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_inact_tick" },
- { IEEE80211_PARAM_ABOLT,
- IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "abolt" },
- { IEEE80211_PARAM_ABOLT,
---- a/net80211/ieee80211_node.c
-+++ b/net80211/ieee80211_node.c
-@@ -137,7 +137,7 @@ ieee80211_node_attach(struct ieee80211co
- init_timer(&ic->ic_inact);
- ic->ic_inact.function = ieee80211_node_timeout;
- ic->ic_inact.data = (unsigned long) ic;
-- ic->ic_inact.expires = jiffies + IEEE80211_INACT_WAIT * HZ;
-+ ic->ic_inact.expires = jiffies + ic->ic_inact_tick * HZ;
- add_timer(&ic->ic_inact);
-
- #ifdef IEEE80211_DEBUG_REFCNT
-@@ -261,7 +261,7 @@ void
- ieee80211_node_authorize(struct ieee80211_node *ni)
- {
- ni->ni_flags |= IEEE80211_NODE_AUTH;
-- ni->ni_inact_reload = ni->ni_vap->iv_inact_run;
-+ ni->ni_inact = ni->ni_inact_reload = ni->ni_vap->iv_inact_run;
- }
- EXPORT_SYMBOL(ieee80211_node_authorize);
-
-@@ -1819,7 +1819,7 @@ ieee80211_node_timeout(unsigned long arg
- }
- }
-
-- ic->ic_inact.expires = jiffies + IEEE80211_INACT_WAIT * HZ;
-+ ic->ic_inact.expires = jiffies + ic->ic_inact_tick * HZ;
- add_timer(&ic->ic_inact);
- }
-
---- a/net80211/ieee80211_power.c
-+++ b/net80211/ieee80211_power.c
-@@ -148,7 +148,7 @@ ieee80211_node_saveq_age(struct ieee8021
-
- IEEE80211_NODE_SAVEQ_LOCK_IRQ(ni);
- while ((skb = skb_peek(&ni->ni_savedq)) != NULL &&
-- M_AGE_GET(skb) < IEEE80211_INACT_WAIT) {
-+ M_AGE_GET(skb) < ni->ni_vap->iv_ic->ic_inact_tick) {
- IEEE80211_NOTE(vap, IEEE80211_MSG_POWER, ni,
- "discard frame, age %u", M_AGE_GET(skb));
-
-@@ -159,7 +159,7 @@ ieee80211_node_saveq_age(struct ieee8021
- discard++;
- }
- if (skb != NULL)
-- M_AGE_SUB(skb, IEEE80211_INACT_WAIT);
-+ M_AGE_SUB(skb, ni->ni_vap->iv_ic->ic_inact_tick);
- IEEE80211_NODE_SAVEQ_UNLOCK_IRQ(ni);
-
- IEEE80211_NOTE(vap, IEEE80211_MSG_POWER, ni,