mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: decode the full VHT Rx STBC capability field
The Rx STBC subfield of the VHT capabilities is a 3-bit cumulative value,
but the driver only tested the RXSTBC_1 bit when advertising the peer's
Rx STBC support to firmware. A peer reporting Rx STBC of 2, 3 or 4 has
that bit clear, so STBC was never used towards it. Test the full
IEEE80211_VHT_CAP_RXSTBC_MASK, matching the HT path.
Fixes: 046d2e7c50e3 ("mac80211: prepare sta handling for MLO support")
Fixes: 2660fde82f65 ("wifi: mt76: mt7996: Update mt7996_mcu_add_rate_ctrl to MLO")
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+1
-1
@@ -1646,7 +1646,7 @@ mt7915_mcu_sta_rate_ctrl_tlv(struct sk_buff *skb, struct mt7915_dev *dev,
|
||||
cap |= STA_CAP_VHT_SGI_160;
|
||||
if (sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_TXSTBC)
|
||||
cap |= STA_CAP_VHT_TX_STBC;
|
||||
if (sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_RXSTBC_1)
|
||||
if (sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_RXSTBC_MASK)
|
||||
cap |= STA_CAP_VHT_RX_STBC;
|
||||
if (mvif->cap.vht_ldpc &&
|
||||
(sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_RXLDPC))
|
||||
|
||||
+1
-1
@@ -2557,7 +2557,7 @@ mt7996_mcu_sta_rate_ctrl_tlv(struct sk_buff *skb, struct mt7996_dev *dev,
|
||||
cap |= STA_CAP_VHT_SGI_160;
|
||||
if (link_sta->vht_cap.cap & IEEE80211_VHT_CAP_TXSTBC)
|
||||
cap |= STA_CAP_VHT_TX_STBC;
|
||||
if (link_sta->vht_cap.cap & IEEE80211_VHT_CAP_RXSTBC_1)
|
||||
if (link_sta->vht_cap.cap & IEEE80211_VHT_CAP_RXSTBC_MASK)
|
||||
cap |= STA_CAP_VHT_RX_STBC;
|
||||
if ((vif->type != NL80211_IFTYPE_AP || link_conf->vht_ldpc) &&
|
||||
(link_sta->vht_cap.cap & IEEE80211_VHT_CAP_RXLDPC))
|
||||
|
||||
Reference in New Issue
Block a user