|
@@ -0,0 +1,26 @@
|
|
|
|
|
+From: Felix Fietkau <[email protected]>
|
|
|
|
|
+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 <[email protected]>
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+--- 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;
|