aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/main.c
diff options
context:
space:
mode:
authorKalle Valo <kalle.valo@nokia.com>2010-01-12 03:42:31 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-12 14:20:58 -0500
commitab13315af97919fae0e014748105fdc2e30afb2d (patch)
treebefa549272ecff20b2839bd6671e4cccbce448f9 /net/mac80211/main.c
parent2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8 (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.c4
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