aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/387-mac80211-always-account-for-A-MSDU-header-changes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/387-mac80211-always-account-for-A-MSDU-header-changes.patch')
-rw-r--r--package/kernel/mac80211/patches/387-mac80211-always-account-for-A-MSDU-header-changes.patch51
1 files changed, 0 insertions, 51 deletions
diff --git a/package/kernel/mac80211/patches/387-mac80211-always-account-for-A-MSDU-header-changes.patch b/package/kernel/mac80211/patches/387-mac80211-always-account-for-A-MSDU-header-changes.patch
deleted file mode 100644
index 47942116bc..0000000000
--- a/package/kernel/mac80211/patches/387-mac80211-always-account-for-A-MSDU-header-changes.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From: Johannes Berg <johannes.berg@intel.com>
-Date: Thu, 30 Aug 2018 10:55:49 +0200
-Subject: [PATCH] mac80211: always account for A-MSDU header changes
-
-In the error path of changing the SKB headroom of the second
-A-MSDU subframe, we would not account for the already-changed
-length of the first frame that just got converted to be in
-A-MSDU format and thus is a bit longer now.
-
-Fix this by doing the necessary accounting.
-
-It would be possible to reorder the operations, but that would
-make the code more complex (to calculate the necessary pad),
-and the headroom expansion should not fail frequently enough
-to make that worthwhile.
-
-Fixes: 6e0456b54545 ("mac80211: add A-MSDU tx support")
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Acked-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
----
-
---- a/net/mac80211/tx.c
-+++ b/net/mac80211/tx.c
-@@ -3232,7 +3232,7 @@ static bool ieee80211_amsdu_aggregate(st
-
- if (!ieee80211_amsdu_realloc_pad(local, skb, sizeof(rfc1042_header) +
- 2 + pad))
-- goto out;
-+ goto out_recalc;
-
- ret = true;
- data = skb_push(skb, ETH_ALEN + 2);
-@@ -3249,11 +3249,13 @@ static bool ieee80211_amsdu_aggregate(st
- head->data_len += skb->len;
- *frag_tail = skb;
-
-- flow->backlog += head->len - orig_len;
-- tin->backlog_bytes += head->len - orig_len;
--
-- fq_recalc_backlog(fq, tin, flow);
-+out_recalc:
-+ if (head->len != orig_len) {
-+ flow->backlog += head->len - orig_len;
-+ tin->backlog_bytes += head->len - orig_len;
-
-+ fq_recalc_backlog(fq, tin, flow);
-+ }
- out:
- fq->memory_usage += head->truesize - orig_truesize;
-