aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/sta_info.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-09-29 10:04:33 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-30 15:57:15 -0400
commit47086fc51aa2220f58049704a8b73e4fcdf372b9 (patch)
tree31f7ae0e59318352d772b62fa26316d349cde88e /net/mac80211/sta_info.h
parent4049e09acdf4ffd270cb8fbf1cf5b39c3d02357c (diff)
mac80211: implement uAPSD
Add uAPSD support to mac80211. This is probably not possible with all devices, so advertising it with the cfg80211 flag will be left up to drivers that want it. Due to my previous patches it is now a fairly straight-forward extension. Drivers need to have accurate TX status reporting for the EOSP frame. For drivers that buffer themselves, the provided APIs allow releasing the right number of frames, but then drivers need to set EOSP and more-data themselves. This is documented in more detail in the new code itself. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/sta_info.h')
-rw-r--r--net/mac80211/sta_info.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 8589afad3295..751ad25f925f 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -46,6 +46,11 @@
46 * @WLAN_STA_TDLS_PEER: Station is a TDLS peer. 46 * @WLAN_STA_TDLS_PEER: Station is a TDLS peer.
47 * @WLAN_STA_TDLS_PEER_AUTH: This TDLS peer is authorized to send direct 47 * @WLAN_STA_TDLS_PEER_AUTH: This TDLS peer is authorized to send direct
48 * packets. This means the link is enabled. 48 * packets. This means the link is enabled.
49 * @WLAN_STA_UAPSD: Station requested unscheduled SP while driver was
50 * keeping station in power-save mode, reply when the driver
51 * unblocks the station.
52 * @WLAN_STA_SP: Station is in a service period, so don't try to
53 * reply to other uAPSD trigger frames.
49 */ 54 */
50enum ieee80211_sta_info_flags { 55enum ieee80211_sta_info_flags {
51 WLAN_STA_AUTH = 1<<0, 56 WLAN_STA_AUTH = 1<<0,
@@ -63,6 +68,8 @@ enum ieee80211_sta_info_flags {
63 WLAN_STA_PSPOLL = 1<<13, 68 WLAN_STA_PSPOLL = 1<<13,
64 WLAN_STA_TDLS_PEER = 1<<15, 69 WLAN_STA_TDLS_PEER = 1<<15,
65 WLAN_STA_TDLS_PEER_AUTH = 1<<16, 70 WLAN_STA_TDLS_PEER_AUTH = 1<<16,
71 WLAN_STA_UAPSD = 1<<17,
72 WLAN_STA_SP = 1<<18,
66}; 73};
67 74
68#define STA_TID_NUM 16 75#define STA_TID_NUM 16
@@ -539,5 +546,6 @@ void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
539 546
540void ieee80211_sta_ps_deliver_wakeup(struct sta_info *sta); 547void ieee80211_sta_ps_deliver_wakeup(struct sta_info *sta);
541void ieee80211_sta_ps_deliver_poll_response(struct sta_info *sta); 548void ieee80211_sta_ps_deliver_poll_response(struct sta_info *sta);
549void ieee80211_sta_ps_deliver_uapsd(struct sta_info *sta);
542 550
543#endif /* STA_INFO_H */ 551#endif /* STA_INFO_H */