summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@googlemail.com>2010-09-21 21:36:18 +0200
committerJohn W. Linville <linville@tuxdriver.com>2010-09-24 15:54:30 -0400
commiteb7d3066cf864342e8ae6a5c1126a1602c4d06c0 (patch)
tree85c7a4f11d06d1c90a3bcba05adc7df1eb3f2823 /net
parented627be38a1a07c6986a9f17c299f6afc86ac6b7 (diff)
downloadlinux-eb7d3066cf864342e8ae6a5c1126a1602c4d06c0.tar.gz
linux-eb7d3066cf864342e8ae6a5c1126a1602c4d06c0.tar.bz2
linux-eb7d3066cf864342e8ae6a5c1126a1602c4d06c0.zip
mac80211: clear txflags for ps-filtered frames
This patch fixes stale mac80211_tx_control_flags for filtered / retried frames. Because ieee80211_handle_filtered_frame feeds skbs back into the tx path, they have to be stripped of some tx flags so they won't confuse the stack, driver or device. Cc: <stable@kernel.org> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/status.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index 571b32bfc54c..dd85006c4fe8 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -58,6 +58,7 @@ static void ieee80211_handle_filtered_frame(struct ieee80211_local *local,
info->control.vif = &sta->sdata->vif;
info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING |
IEEE80211_TX_INTFL_RETRANSMISSION;
+ info->flags &= ~IEEE80211_TX_TEMPORARY_FLAGS;
sta->tx_filtered_count++;