12345678910111213141516171819202122232425262728293031323334353637 |
- From: Lorenzo Bianconi <[email protected]>
- Date: Wed, 29 Aug 2018 21:03:25 +0200
- Subject: [PATCH] mac80211: do not convert to A-MSDU if frag/subframe
- limited
- Do not start to aggregate packets in a A-MSDU frame (converting the
- first subframe to A-MSDU, adding the header) if max_tx_fragments or
- max_amsdu_subframes limits are already exceeded by it. In particular,
- this happens when drivers set the limit to 1 to avoid A-MSDUs at all.
- Signed-off-by: Lorenzo Bianconi <[email protected]>
- [reword commit message to be more precise]
- Signed-off-by: Johannes Berg <[email protected]>
- ---
- --- a/net/mac80211/tx.c
- +++ b/net/mac80211/tx.c
- @@ -3201,9 +3201,6 @@ static bool ieee80211_amsdu_aggregate(st
- if (skb->len + head->len > max_amsdu_len)
- goto unlock;
-
- - if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head))
- - goto out;
- -
- nfrags = 1 + skb_shinfo(skb)->nr_frags;
- nfrags += 1 + skb_shinfo(head)->nr_frags;
- frag_tail = &skb_shinfo(head)->frag_list;
- @@ -3219,6 +3216,9 @@ static bool ieee80211_amsdu_aggregate(st
- if (max_frags && nfrags > max_frags)
- goto out;
-
- + if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head))
- + goto out;
- +
- /*
- * Pad out the previous subframe to a multiple of 4 by adding the
- * padding to the next one, that's being added. Note that head->len
|