From 673062fc56c05ec613f416b0da7325be46e65a29 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 16 Sep 2020 18:47:52 +0200 Subject: [PATCH] mac80211: allow bigger A-MSDU sizes in VHT, even if HT is limited Improves tx throughput when connecting to some APs (e.g. Asus RT-AC88U) Signed-off-by: Felix Fietkau --- ...igger-A-MSDU-sizes-in-VHT-even-if-HT.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 package/kernel/mac80211/patches/subsys/330-mac80211-allow-bigger-A-MSDU-sizes-in-VHT-even-if-HT.patch diff --git a/package/kernel/mac80211/patches/subsys/330-mac80211-allow-bigger-A-MSDU-sizes-in-VHT-even-if-HT.patch b/package/kernel/mac80211/patches/subsys/330-mac80211-allow-bigger-A-MSDU-sizes-in-VHT-even-if-HT.patch new file mode 100644 index 00000000000..b67030d135b --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/330-mac80211-allow-bigger-A-MSDU-sizes-in-VHT-even-if-HT.patch @@ -0,0 +1,26 @@ +From: Felix Fietkau +Date: Wed, 16 Sep 2020 18:43:46 +0200 +Subject: [PATCH] mac80211: allow bigger A-MSDU sizes in VHT, even if HT is + limited + +Some APs (e.g. Asus RT-AC88U) have been observed to report an HT MSDU size +limit of 3839 and a VHT limit of 7991. These APs can handle bigger frames +than 3839 bytes just fine, so we should remove the VHT limit based on the +HT capabilities. This improves tx throughput. + +Signed-off-by: Felix Fietkau +--- + +--- a/net/mac80211/vht.c ++++ b/net/mac80211/vht.c +@@ -315,10 +315,6 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru + + sta->sta.bandwidth = ieee80211_sta_cur_vht_bw(sta); + +- /* If HT IE reported 3839 bytes only, stay with that size. */ +- if (sta->sta.max_amsdu_len == IEEE80211_MAX_MPDU_LEN_HT_3839) +- return; +- + switch (vht_cap->cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK) { + case IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454: + sta->sta.max_amsdu_len = IEEE80211_MAX_MPDU_LEN_VHT_11454;