Search Linux Wireless

[RFC] mac80211: clear txflags for filtered/retried frames

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch fixes stale mac80211_tx_control_flags for
filtered / retried frames.

Because ieee80211_handle_filtered_frame injects the skbs
back into the tx path, they have to be stripped of old tx
flags which might confuse the stack or driver.
---
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index 571b32b..17d98a2 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
@@ -58,6 +58,15 @@ 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_CTL_RATE_CTRL_PROBE |
+			 IEEE80211_TX_CTL_PSPOLL_RESPONSE |
+			 IEEE80211_TX_CTL_FIRST_FRAGMENT |
+			 IEEE80211_TX_CTL_CLEAR_PS_FILT |
+			 IEEE80211_TX_CTL_MORE_FRAMES |
+			 IEEE80211_TX_CTL_AMPDU |
+			 IEEE80211_TX_STAT_AMPDU_NO_BACK |
+			 IEEE80211_TX_STAT_TX_FILTERED |
+			 IEEE80211_TX_STAT_AMPDU);
 
 	sta->tx_filtered_count++;
 
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux