aboutsummaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches/362-rssithr.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-07-25 22:36:18 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-07-25 22:36:18 +0000
commit9866151941e1081a24c113ed9afe442b35284a57 (patch)
tree6292a0ff221a2e3c312adf793a4f9a750d098e47 /package/madwifi/patches/362-rssithr.patch
parent192e5ac41d6ff15f04578c950f87e7a34824f304 (diff)
downloadupstream-9866151941e1081a24c113ed9afe442b35284a57.tar.gz
upstream-9866151941e1081a24c113ed9afe442b35284a57.tar.bz2
upstream-9866151941e1081a24c113ed9afe442b35284a57.zip
madwifi: reduce the packet loss impact of forced background scans triggered by the configured threshold
SVN-Revision: 11925
Diffstat (limited to 'package/madwifi/patches/362-rssithr.patch')
-rw-r--r--package/madwifi/patches/362-rssithr.patch16
1 files changed, 9 insertions, 7 deletions
diff --git a/package/madwifi/patches/362-rssithr.patch b/package/madwifi/patches/362-rssithr.patch
index 137e64ad52..c1654d59b6 100644
--- a/package/madwifi/patches/362-rssithr.patch
+++ b/package/madwifi/patches/362-rssithr.patch
@@ -59,10 +59,11 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
{ IEEE80211_PARAM_UAPSDINFO,
--- a/net80211/ieee80211_input.c
+++ b/net80211/ieee80211_input.c
-@@ -3263,6 +3263,17 @@
+@@ -3261,6 +3261,19 @@
+ memcpy(ni->ni_tstamp.data, scan.tstamp,
+ sizeof(ni->ni_tstamp));
- /* When rssi is low, start doing bgscans more frequently to allow
- * the supplicant to make a better switching decision */
++ /* when rssi falls below the disconnection threshold, drop the connection */
+ if ((vap->iv_rssi_dis_thr > 0) && (vap->iv_rssi_dis_max > 0)) {
+ if ((rssi > 0) && (rssi < vap->iv_rssi_dis_thr)) {
+ if (++vap->iv_rssi_dis_trig > vap->iv_rssi_dis_max) {
@@ -74,9 +75,10 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+ vap->iv_rssi_dis_trig = 0;
+ }
+ }
- if ((rssi < vap->iv_bgscanthr) &&
- (!vap->iv_bgscanthr_next ||
- !time_before(jiffies, vap->iv_bgscanthr_next)) &&
++
+ /* When rssi is low, start doing bgscans more frequently to allow
+ * the supplicant to make a better switching decision */
+ if (!(ic->ic_flags & IEEE80211_F_SCAN) && (rssi < vap->iv_bgscanthr) &&
--- a/net80211/ieee80211_var.h
+++ b/net80211/ieee80211_var.h
@@ -223,6 +223,9 @@
@@ -87,5 +89,5 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+ u_int iv_rssi_dis_max; /* max beacons below disconnect threshold */
+ u_int iv_rssi_dis_trig; /* rssi disassoc trigger count */
unsigned long iv_bgscanthr_next; /* last trigger for bgscan */
+ unsigned long iv_lastconnect; /* time of last connect attempt */
u_int iv_scanvalid; /* scan cache valid threshold */
- struct ieee80211_roam iv_roam; /* sta-mode roaming state */