wifi: mt76: mt7996: fix HE beamformer phy cap for station vif
authorHoward Hsu <howard-yh.hsu@mediatek.com>
Fri, 26 Jan 2024 09:09:17 +0000 (17:09 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 22 Feb 2024 08:55:18 +0000 (09:55 +0100)
Set correct beamformer capabilities for station vif in HE PHY
capability IE.

Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices")
Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/init.c

index 0cf0d1fe420a2e1021eb43bd864e147750d6aee6..1a1a60744272d9802507ed9fa7a2f4875eca7b91 100644 (file)
@@ -1012,11 +1012,12 @@ mt7996_set_stream_he_txbf_caps(struct mt7996_phy *phy,
        /* the maximum cap is 4 x 3, (Nr, Nc) = (3, 2) */
        elem->phy_cap_info[7] |= min_t(int, sts - 1, 2) << 3;
 
-       if (vif != NL80211_IFTYPE_AP)
+       if (!(vif == NL80211_IFTYPE_AP || vif == NL80211_IFTYPE_STATION))
                return;
 
        elem->phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER;
-       elem->phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER;
+       if (vif == NL80211_IFTYPE_AP)
+               elem->phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER;
 
        c = FIELD_PREP(IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK,
                       sts - 1) |