aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2010-01-26 08:19:52 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-26 11:53:21 -0500
commit56007a028c51cbf800a6c969d6f6431d23443b99 (patch)
tree8bc0280467824ed3b5f95810444b1f8e1ebc2750 /include/net
parentc21dbf9214bce129f92e1af05552553ff0e318ed (diff)
mac80211: wait for beacon before enabling powersave
Because DTIM information is required for powersave but is only conveyed in beacons, wait for a beacon before enabling powersave, and change the way the information is conveyed to the driver accordingly. mwl8k doesn't currently seem to implement PS but requires the DTIM period in a different way; after talking to Lennert we agreed to just have mwl8k do the parsing itself in the finalize_join work. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/mac80211.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index f64402f6312b..1e9c93024cf2 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -186,7 +186,8 @@ enum ieee80211_bss_change {
186 * @use_short_slot: use short slot time (only relevant for ERP); 186 * @use_short_slot: use short slot time (only relevant for ERP);
187 * if the hardware cannot handle this it must set the 187 * if the hardware cannot handle this it must set the
188 * IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE hardware flag 188 * IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE hardware flag
189 * @dtim_period: num of beacons before the next DTIM, for PSM 189 * @dtim_period: num of beacons before the next DTIM, for beaconing,
190 * not valid in station mode (cf. hw conf ps_dtim_period)
190 * @timestamp: beacon timestamp 191 * @timestamp: beacon timestamp
191 * @beacon_int: beacon interval 192 * @beacon_int: beacon interval
192 * @assoc_capability: capabilities taken from assoc resp 193 * @assoc_capability: capabilities taken from assoc resp
@@ -648,6 +649,9 @@ enum ieee80211_smps_mode {
648 * value will be only achievable between DTIM frames, the hardware 649 * value will be only achievable between DTIM frames, the hardware
649 * needs to check for the multicast traffic bit in DTIM beacons. 650 * needs to check for the multicast traffic bit in DTIM beacons.
650 * This variable is valid only when the CONF_PS flag is set. 651 * This variable is valid only when the CONF_PS flag is set.
652 * @ps_dtim_period: The DTIM period of the AP we're connected to, for use
653 * in power saving. Power saving will not be enabled until a beacon
654 * has been received and the DTIM period is known.
651 * @dynamic_ps_timeout: The dynamic powersave timeout (in ms), see the 655 * @dynamic_ps_timeout: The dynamic powersave timeout (in ms), see the
652 * powersave documentation below. This variable is valid only when 656 * powersave documentation below. This variable is valid only when
653 * the CONF_PS flag is set. 657 * the CONF_PS flag is set.
@@ -674,6 +678,7 @@ struct ieee80211_conf {
674 int max_sleep_period; 678 int max_sleep_period;
675 679
676 u16 listen_interval; 680 u16 listen_interval;
681 u8 ps_dtim_period;
677 682
678 u8 long_frame_max_tx_count, short_frame_max_tx_count; 683 u8 long_frame_max_tx_count, short_frame_max_tx_count;
679 684