diff options
author | Kalle Valo <kalle.valo@nokia.com> | 2010-01-12 03:42:31 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-01-12 14:20:58 -0500 |
commit | ab13315af97919fae0e014748105fdc2e30afb2d (patch) | |
tree | befa549272ecff20b2839bd6671e4cccbce448f9 /net/mac80211/main.c | |
parent | 2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8 (diff) |
mac80211: add U-APSD client support
Add Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The
idea is that the data frames from the client trigger AP to send the buffered
frames with ACs which have U-APSD enabled. This decreases latency and makes it
possible to save even more power.
Driver needs to use IEEE80211_HW_UAPSD to enable the feature. The current
implementation assumes that firmware takes care of the wakeup and
hardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.
Tested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running
various test traffic with ping.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 468829143991..0054bba08ce1 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -491,6 +491,10 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
491 | else if (local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC) | 491 | else if (local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC) |
492 | local->hw.wiphy->signal_type = CFG80211_SIGNAL_TYPE_UNSPEC; | 492 | local->hw.wiphy->signal_type = CFG80211_SIGNAL_TYPE_UNSPEC; |
493 | 493 | ||
494 | WARN((local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD) | ||
495 | && (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK), | ||
496 | "U-APSD not supported with HW_PS_NULLFUNC_STACK\n"); | ||
497 | |||
494 | /* | 498 | /* |
495 | * Calculate scan IE length -- we need this to alloc | 499 | * Calculate scan IE length -- we need this to alloc |
496 | * memory and to subtract from the driver limit. It | 500 | * memory and to subtract from the driver limit. It |