aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2008-06-12 08:42:29 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-14 12:18:10 -0400
commit8d5e0d58b39eed9b0f1064f4a7f2b215869b7e71 (patch)
treeeb91dd7f55e48583f6a7f9a18eb824de0a8cc880 /net/mac80211/tx.c
parent58d0f3610e0c1fd31a2ff3b89879211727292771 (diff)
mac80211: do not fragment while aggregation is in use
This patch denies the use of framentation while ampdu is used. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 1ad9e664f287..195cb6dd02a0 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -660,9 +660,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx)
660 660
661 /* 661 /*
662 * Warn when submitting a fragmented A-MPDU frame and drop it. 662 * Warn when submitting a fragmented A-MPDU frame and drop it.
663 * This is an error and needs to be fixed elsewhere, but when 663 * This scenario is handled in __ieee80211_tx_prepare but extra
664 * done needs to take care of monitor interfaces (injection) 664 * caution taken here as fragmented ampdu may cause Tx stop.
665 * etc.
666 */ 665 */
667 if (WARN_ON(tx->flags & IEEE80211_TX_CTL_AMPDU || 666 if (WARN_ON(tx->flags & IEEE80211_TX_CTL_AMPDU ||
668 skb_get_queue_mapping(tx->skb) >= 667 skb_get_queue_mapping(tx->skb) >=
@@ -981,7 +980,8 @@ __ieee80211_tx_prepare(struct ieee80211_tx_data *tx,
981 if (tx->flags & IEEE80211_TX_FRAGMENTED) { 980 if (tx->flags & IEEE80211_TX_FRAGMENTED) {
982 if ((tx->flags & IEEE80211_TX_UNICAST) && 981 if ((tx->flags & IEEE80211_TX_UNICAST) &&
983 skb->len + FCS_LEN > local->fragmentation_threshold && 982 skb->len + FCS_LEN > local->fragmentation_threshold &&
984 !local->ops->set_frag_threshold) 983 !local->ops->set_frag_threshold &&
984 !(info->flags & IEEE80211_TX_CTL_AMPDU))
985 tx->flags |= IEEE80211_TX_FRAGMENTED; 985 tx->flags |= IEEE80211_TX_FRAGMENTED;
986 else 986 else
987 tx->flags &= ~IEEE80211_TX_FRAGMENTED; 987 tx->flags &= ~IEEE80211_TX_FRAGMENTED;