aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>2010-06-09 02:51:52 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-15 16:00:48 -0400
commitff61638105db6f5832ef8700436ba6aa6d3a2fda (patch)
treeff55ef6186cd46d87ca4e54efbbe82f5ecc68f1e /include/net/mac80211.h
parent685429623f88d84f98bd5daffc3c427c408740d4 (diff)
mac80211: Fix ps-qos network latency handling
The ps-qos latency handling is broken. It uses predetermined latency values to select specific dynamic PS timeouts. With common AP configurations, these values overlap with beacon interval and are therefore essentially useless (for network latencies less than the beacon interval, PSM is disabled.) This patch remedies the problem by replacing the predetermined network latency values with one high value (1900ms) which is used to go trigger full psm. For backwards compatibility, the value 2000ms is still mapped to a dynamic ps timeout of 100ms. Currently also the mac80211 internal value for storing user space configured dynamic PSM values is incorrectly in the driver visible ieee80211_conf struct. Move it to the ieee80211_local struct. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 3a47877f4965..fe1a3a603375 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -695,9 +695,6 @@ enum ieee80211_smps_mode {
695 * @dynamic_ps_timeout: The dynamic powersave timeout (in ms), see the 695 * @dynamic_ps_timeout: The dynamic powersave timeout (in ms), see the
696 * powersave documentation below. This variable is valid only when 696 * powersave documentation below. This variable is valid only when
697 * the CONF_PS flag is set. 697 * the CONF_PS flag is set.
698 * @dynamic_ps_forced_timeout: The dynamic powersave timeout (in ms) configured
699 * by cfg80211 (essentially, wext) If set, this value overrules the value
700 * chosen by mac80211 based on ps qos network latency.
701 * 698 *
702 * @power_level: requested transmit power (in dBm) 699 * @power_level: requested transmit power (in dBm)
703 * 700 *
@@ -717,7 +714,7 @@ enum ieee80211_smps_mode {
717 */ 714 */
718struct ieee80211_conf { 715struct ieee80211_conf {
719 u32 flags; 716 u32 flags;
720 int power_level, dynamic_ps_timeout, dynamic_ps_forced_timeout; 717 int power_level, dynamic_ps_timeout;
721 int max_sleep_period; 718 int max_sleep_period;
722 719
723 u16 listen_interval; 720 u16 listen_interval;