wifi: ath11k: fix number of VHT beamformee spatial streams
authorJesus Fernandez Manzano <jesus.manzano@galgus.net>
Thu, 22 Sep 2022 07:35:14 +0000 (10:35 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 22 Sep 2022 08:35:09 +0000 (11:35 +0300)
commit55b5ee3357d7bb98ee578cf9b84a652e7a1bc199
treea387049ae12880456ff1f9ca961507cba54e45e1
parent176239a9a2e3c519923d7bd8bb205838d48c7a3c
wifi: ath11k: fix number of VHT beamformee spatial streams

The number of spatial streams used when acting as a beamformee in VHT
mode are reported by the firmware as 7 (8 sts - 1) both in IPQ6018 and
IPQ8074 which respectively have 2 and 4 sts each. So the firmware should
report 1 (2 - 1) and 3 (4 - 1).

Fix this by checking that the number of VHT beamformee sts reported by
the firmware is not greater than the number of receiving antennas - 1.
The fix is based on the same approach used in this same function for
sanitizing the number of sounding dimensions reported by the firmware.

Without this change, acting as a beamformee in VHT mode is not working
properly.

Tested-on: IPQ6018 hw1.0 AHB WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1

Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Jesus Fernandez Manzano <jesus.manzano@galgus.net>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220616173947.21901-1-jesus.manzano@galgus.net
drivers/net/wireless/ath/ath11k/mac.c