[PATCH v9 5/9] wifi: ath12k: fix TX and RX MCS rate configurations in HE mode
Pradeep Kumar Chitrapu
quic_pradeepc at quicinc.com
Mon Jan 13 16:38:09 PST 2025
Currently, the TX and RX MCS rate configurations per peer are
reversed when sent to the firmware. As a result, RX MCS rates
are configured for TX, and vice versa. This commit rectifies
the configuration to match what the firmware expects.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc at quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson at quicinc.com>
---
drivers/net/wireless/ath/ath12k/wmi.c | 4 ++--
drivers/net/wireless/ath/ath12k/wmi.h | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 4dd6cdf84571..8e95b000e339 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -2246,8 +2246,8 @@ int ath12k_wmi_send_peer_assoc_cmd(struct ath12k *ar,
he_mcs->tlv_header = ath12k_wmi_tlv_cmd_hdr(WMI_TAG_HE_RATE_SET,
sizeof(*he_mcs));
- he_mcs->rx_mcs_set = cpu_to_le32(arg->peer_he_rx_mcs_set[i]);
- he_mcs->tx_mcs_set = cpu_to_le32(arg->peer_he_tx_mcs_set[i]);
+ he_mcs->rx_mcs_set = cpu_to_le32(arg->peer_he_tx_mcs_set[i]);
+ he_mcs->tx_mcs_set = cpu_to_le32(arg->peer_he_rx_mcs_set[i]);
ptr += sizeof(*he_mcs);
}
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index 1c2c99f765a2..eeef4613bc9f 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -4059,7 +4059,9 @@ struct ath12k_wmi_vht_rate_set_params {
struct ath12k_wmi_he_rate_set_params {
__le32 tlv_header;
+ /* MCS at which the peer can receive */
__le32 rx_mcs_set;
+ /* MCS at which the peer can transmit */
__le32 tx_mcs_set;
} __packed;
--
2.34.1
More information about the ath12k
mailing list