diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-06-12 08:42:29 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-14 12:18:10 -0400 |
commit | 8d5e0d58b39eed9b0f1064f4a7f2b215869b7e71 (patch) | |
tree | eb91dd7f55e48583f6a7f9a18eb824de0a8cc880 /net/mac80211/tx.c | |
parent | 58d0f3610e0c1fd31a2ff3b89879211727292771 (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.c | 8 |
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; |