blob: 9f0d62ef874f7944da5dc6d61b66851c06660bff [file] [log] [blame]
From 1e59567d865e9e23c193919f8ce2d84e8d4d52f5 Mon Sep 17 00:00:00 2001
From: Peter Chiu <chui-hao.chiu@mediatek.com>
Date: Wed, 28 Aug 2024 13:58:30 +0800
Subject: [PATCH 188/223] mtk: mt76: mt7996: fix ldpc setting
The non-AP interfaces would not update conf->vht_ldpc so they never set
STA_CAP_VHT_LDPC even if peer-station support LDPC.
Check conf->vht_ldpc only if it is using AP interface.
Without this patch, station only uses BCC to transmit packet in VHT mode.
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Change-Id: I00574c95a8cded18a3272e5aa27582ab4d618899
---
mt7996/mcu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mt7996/mcu.c b/mt7996/mcu.c
index 725f2f31..b0e9617d 100644
--- a/mt7996/mcu.c
+++ b/mt7996/mcu.c
@@ -2994,7 +2994,7 @@ mt7996_mcu_sta_rate_ctrl_tlv(struct sk_buff *skb, struct mt7996_dev *dev,
cap |= STA_CAP_VHT_TX_STBC;
if (link_sta->vht_cap.cap & IEEE80211_VHT_CAP_RXSTBC_1)
cap |= STA_CAP_VHT_RX_STBC;
- if (conf->vht_ldpc &&
+ if ((conf->vif->type != NL80211_IFTYPE_AP || conf->vht_ldpc) &&
(link_sta->vht_cap.cap & IEEE80211_VHT_CAP_RXLDPC))
cap |= STA_CAP_VHT_LDPC;
--
2.45.2