diff mbox series

wifi: ath11k: fix wrong overriding for VHT Beamformee STS Capability

Message ID 20250124075953.2282354-1-quic_yuzha@quicinc.com
State New
Headers show
Series wifi: ath11k: fix wrong overriding for VHT Beamformee STS Capability | expand

Commit Message

Yu Zhang(Yuriy) Jan. 24, 2025, 7:59 a.m. UTC
Current code in ath11k_mac_set_txbf_conf overrides nsts, which is
incorrect as it confuses nss and nsts. nss is Number of Spatial
Streams,nsts is Number of Space-Time Streams.

As mentioned in Fixes: 55b5ee3357d7, the nss used when acting as a
beamformee in VHT mode should be reported by the firmware and should not
be greater than the number of receiving antennas - 1. The num_rx_chains
related nss rather than nsts.

If STBC is enabled, nsts is greater than nss. About nss are mapped to
nsts, refer to IEEE Std 802.11-2020: 19.3.11.9.2 Space-time block coding
(STBC), Table 19-18—Constellation mapper output to spatial mapper input
for STBC.

Remove wrong overriding for nsts of VHT Beamformee STS Capability,
acting DL MU-MIMO in VHT mode is working properly.

Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-04479-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1

Fixes: 55b5ee3357d7 ("wifi: ath11k: fix number of VHT beamformee spatial streams")
Signed-off-by: Yu Zhang(Yuriy) <quic_yuzha@quicinc.com>
---
 drivers/net/wireless/ath/ath11k/mac.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Jeff Johnson Jan. 30, 2025, 11:29 p.m. UTC | #1
On 1/23/2025 11:59 PM, Yu Zhang(Yuriy) wrote:
> Current code in ath11k_mac_set_txbf_conf overrides nsts, which is
> incorrect as it confuses nss and nsts. nss is Number of Spatial
> Streams,nsts is Number of Space-Time Streams.
> 
> As mentioned in Fixes: 55b5ee3357d7, the nss used when acting as a
> beamformee in VHT mode should be reported by the firmware and should not
> be greater than the number of receiving antennas - 1. The num_rx_chains
> related nss rather than nsts.
> 
> If STBC is enabled, nsts is greater than nss. About nss are mapped to
> nsts, refer to IEEE Std 802.11-2020: 19.3.11.9.2 Space-time block coding
> (STBC), Table 19-18—Constellation mapper output to spatial mapper input
> for STBC.
> 
> Remove wrong overriding for nsts of VHT Beamformee STS Capability,
> acting DL MU-MIMO in VHT mode is working properly.
> 
> Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-04479-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1
> 
> Fixes: 55b5ee3357d7 ("wifi: ath11k: fix number of VHT beamformee spatial streams")
> Signed-off-by: Yu Zhang(Yuriy) <quic_yuzha@quicinc.com>
> ---
>  drivers/net/wireless/ath/ath11k/mac.c | 5 -----

* drivers/net/wireless/ath/ath11k/mac.c copyright missing 2025

I'll fix this in the pending branch if there are no other issues
Jeff Johnson Jan. 30, 2025, 11:32 p.m. UTC | #2
On 1/30/2025 3:29 PM, Jeff Johnson wrote:
> * drivers/net/wireless/ath/ath11k/mac.c copyright missing 2025
> 
> I'll fix this in the pending branch if there are no other issues

I see this is added in another patch, so you can ignore this
Vasanthakumar Thiagarajan Jan. 31, 2025, 4:20 a.m. UTC | #3
On 1/24/2025 1:29 PM, Yu Zhang(Yuriy) wrote:
> Current code in ath11k_mac_set_txbf_conf overrides nsts, which is
> incorrect as it confuses nss and nsts. nss is Number of Spatial
> Streams,nsts is Number of Space-Time Streams.
> 
> As mentioned in Fixes: 55b5ee3357d7, the nss used when acting as a
> beamformee in VHT mode should be reported by the firmware and should not
> be greater than the number of receiving antennas - 1. The num_rx_chains
> related nss rather than nsts.
> 
> If STBC is enabled, nsts is greater than nss. About nss are mapped to
> nsts, refer to IEEE Std 802.11-2020: 19.3.11.9.2 Space-time block coding
> (STBC), Table 19-18—Constellation mapper output to spatial mapper input
> for STBC.
> 
> Remove wrong overriding for nsts of VHT Beamformee STS Capability,
> acting DL MU-MIMO in VHT mode is working properly.
> 
> Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-04479-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1
> 
> Fixes: 55b5ee3357d7 ("wifi: ath11k: fix number of VHT beamformee spatial streams")
> Signed-off-by: Yu Zhang(Yuriy) <quic_yuzha@quicinc.com>

Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Jeff Johnson Feb. 3, 2025, 10:49 p.m. UTC | #4
On Fri, 24 Jan 2025 15:59:53 +0800, Yu Zhang(Yuriy) wrote:
> Current code in ath11k_mac_set_txbf_conf overrides nsts, which is
> incorrect as it confuses nss and nsts. nss is Number of Spatial
> Streams,nsts is Number of Space-Time Streams.
> 
> As mentioned in Fixes: 55b5ee3357d7, the nss used when acting as a
> beamformee in VHT mode should be reported by the firmware and should not
> be greater than the number of receiving antennas - 1. The num_rx_chains
> related nss rather than nsts.
> 
> [...]

Applied, thanks!

[1/1] wifi: ath11k: fix wrong overriding for VHT Beamformee STS Capability
      commit: 9d13950acb2a51342c93c69f1a5bf285adb90d88

Best regards,
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index f8068d2e848c..b375b4c06790 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -5337,8 +5337,6 @@  static int ath11k_mac_set_txbf_conf(struct ath11k_vif *arvif)
 	if (vht_cap & (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE)) {
 		nsts = vht_cap & IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK;
 		nsts >>= IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT;
-		if (nsts > (ar->num_rx_chains - 1))
-			nsts = ar->num_rx_chains - 1;
 		value |= SM(nsts, WMI_TXBF_STS_CAP_OFFSET);
 	}
 
@@ -5422,9 +5420,6 @@  static void ath11k_set_vht_txbf_cap(struct ath11k *ar, u32 *vht_cap)
 
 	/* Enable Beamformee STS Field only if SU BF is enabled */
 	if (subfee) {
-		if (nsts > (ar->num_rx_chains - 1))
-			nsts = ar->num_rx_chains - 1;
-
 		nsts <<= IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT;
 		nsts &=  IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK;
 		*vht_cap |= nsts;