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>
This commit is contained in:
parent
58d0f3610e
commit
8d5e0d58b3
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue