summaryrefslogtreecommitdiffstats
path: root/net/mac80211/rx.c
diff options
context:
space:
mode:
authorJohannes Berg2015-03-21 15:25:43 +0100
committerJohannes Berg2015-04-22 10:02:25 +0200
commit17c18bf880b2464851e5a2bca86521affc46c97e (patch)
tree3b200b80b2f494fe2084472204a93c4c51bc55b0 /net/mac80211/rx.c
parentmac80211: Fix mac80211.h docbook comments (diff)
downloadkernel-qcow2-linux-17c18bf880b2464851e5a2bca86521affc46c97e.tar.gz
kernel-qcow2-linux-17c18bf880b2464851e5a2bca86521affc46c97e.tar.xz
kernel-qcow2-linux-17c18bf880b2464851e5a2bca86521affc46c97e.zip
mac80211: add TX fastpath
In order to speed up mac80211's TX path, add the "fast-xmit" cache that will cache the data frame 802.11 header and other data to be able to build the frame more quickly. This cache is rebuilt when external triggers imply changes, but a lot of the checks done per packet today are simplified away to the check for the cache. There's also a more detailed description in the code. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r--net/mac80211/rx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 260eed45b6d2..6e3b564b6dea 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1200,6 +1200,8 @@ static void sta_ps_start(struct sta_info *sta)
ps_dbg(sdata, "STA %pM aid %d enters power save mode\n",
sta->sta.addr, sta->sta.aid);
+ ieee80211_clear_fast_xmit(sta);
+
if (!sta->sta.txq[0])
return;