diff mbox series

[5.9] mt76: mt7615: reduce maximum VHT MPDU length to 7991

Message ID 20200923052442.24141-1-nbd@nbd.name (mailing list archive)
State Accepted
Commit efb1676306f664625c0c546dd10d18d33c75e3fc
Delegated to: Kalle Valo
Headers show
Series [5.9] mt76: mt7615: reduce maximum VHT MPDU length to 7991 | expand

Commit Message

Felix Fietkau Sept. 23, 2020, 5:24 a.m. UTC
After fixing mac80211 to allow larger A-MSDUs in some cases, there have been
reports of performance regressions and packet loss with some clients.
It appears that the issue occurs when the hardware is transmitting A-MSDUs
bigger than 8k. Limit the local VHT MPDU size capability to 7991, matching
the value used for MT7915 as well.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 drivers/net/wireless/mediatek/mt76/mt7615/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kalle Valo Sept. 23, 2020, 5:56 a.m. UTC | #1
Felix Fietkau <nbd@nbd.name> writes:

> After fixing mac80211 to allow larger A-MSDUs in some cases, there have been
> reports of performance regressions and packet loss with some clients.
> It appears that the issue occurs when the hardware is transmitting A-MSDUs
> bigger than 8k. Limit the local VHT MPDU size capability to 7991, matching
> the value used for MT7915 as well.
>
> Signed-off-by: Felix Fietkau <nbd@nbd.name>

I'm planning to queue this to v5.9 and I assigned the patch to me in
patchwork.
Kalle Valo Sept. 24, 2020, 1:15 p.m. UTC | #2
Felix Fietkau <nbd@nbd.name> wrote:

> After fixing mac80211 to allow larger A-MSDUs in some cases, there have been
> reports of performance regressions and packet loss with some clients.
> It appears that the issue occurs when the hardware is transmitting A-MSDUs
> bigger than 8k. Limit the local VHT MPDU size capability to 7991, matching
> the value used for MT7915 as well.
> 
> Signed-off-by: Felix Fietkau <nbd@nbd.name>

Patch applied to wireless-drivers.git, thanks.

efb1676306f6 mt76: mt7615: reduce maximum VHT MPDU length to 7991
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/init.c b/drivers/net/wireless/mediatek/mt76/mt7615/init.c
index 2a4db46727fb..e194259c84e9 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/init.c
@@ -481,7 +481,7 @@  void mt7615_init_device(struct mt7615_dev *dev)
 	dev->mphy.sband_2g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING;
 	dev->mphy.sband_5g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING;
 	dev->mphy.sband_5g.sband.vht_cap.cap |=
-			IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 |
+			IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
 			IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
 	mt7615_cap_dbdc_disable(dev);
 	dev->phy.dfs_state = -1;