summaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-06-14 17:15:39 -0700
committerDavid S. Miller <davem@davemloft.net>2008-06-14 17:15:39 -0700
commit942e7b102a4827fdb69a39c7f07c544542589ef9 (patch)
tree4c47174c91eb76aaa31abc141adbee1acc649987 /net/mac80211/tx.c
parent7d06b2e053d2d536348e3a0f6bb02982a41bea37 (diff)
parent87291c0269e77b029282676448fed3706a54211a (diff)
downloadtalos-op-linux-942e7b102a4827fdb69a39c7f07c544542589ef9.tar.gz
talos-op-linux-942e7b102a4827fdb69a39c7f07c544542589ef9.zip
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6
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)
/*
* Warn when submitting a fragmented A-MPDU frame and drop it.
- * This is an error and needs to be fixed elsewhere, but when
- * done needs to take care of monitor interfaces (injection)
- * etc.
+ * This scenario is handled in __ieee80211_tx_prepare but extra
+ * caution taken here as fragmented ampdu may cause Tx stop.
*/
if (WARN_ON(tx->flags & IEEE80211_TX_CTL_AMPDU ||
skb_get_queue_mapping(tx->skb) >=
@@ -981,7 +980,8 @@ __ieee80211_tx_prepare(struct ieee80211_tx_data *tx,
if (tx->flags & IEEE80211_TX_FRAGMENTED) {
if ((tx->flags & IEEE80211_TX_UNICAST) &&
skb->len + FCS_LEN > local->fragmentation_threshold &&
- !local->ops->set_frag_threshold)
+ !local->ops->set_frag_threshold &&
+ !(info->flags & IEEE80211_TX_CTL_AMPDU))
tx->flags |= IEEE80211_TX_FRAGMENTED;
else
tx->flags &= ~IEEE80211_TX_FRAGMENTED;
OpenPOWER on IntegriCloud