wifi: ath12k: Fix invalid RSSI values in station dump
authorP Praneesh <praneesh.p@oss.qualcomm.com>
Thu, 24 Apr 2025 05:51:04 +0000 (11:21 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Mon, 19 May 2025 17:45:38 +0000 (10:45 -0700)
When processing a "station dump" command, the driver retrieves RSSI
values from the HAL_PHYRX_RSSI_LEGACY TLV received from the monitor
destination ring, and reports them to userspace. Currently, the RSSI
values reported are improper because the hardware has not been
configured to update them properly.

To fix this, enable the HTT_RX_FILTER_TLV_FLAGS_PPDU_START_USER_INFO in
the filter setup to ensure the correct RSSI values are returned in the
HAL_PHYRX_RSSI_LEGACY TLV, resulting in correct RSSI values being
reported to userspace.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00218-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Signed-off-by: P Praneesh <praneesh.p@oss.qualcomm.com>
Signed-off-by: Sowjanya vardhineni <quic_svardhin@quicinc.com>
Reviewed-by: Mahendran P <quic_mahep@quicinc.com>
Link: https://patch.msgid.link/20250424055104.2503723-1-quic_svardhin@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/mac.c

index 38099b39bc91d04bd65ff20a44d3e5ed3f8042b2..c8a7c2dc10a03885853f95e85ea23e8cfc56a0b9 100644 (file)
@@ -229,7 +229,8 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12K_CHAN_WIDTH_NUM] = {
 const struct htt_rx_ring_tlv_filter ath12k_mac_mon_status_filter_default = {
        .rx_filter = HTT_RX_FILTER_TLV_FLAGS_MPDU_START |
                     HTT_RX_FILTER_TLV_FLAGS_PPDU_END |
-                    HTT_RX_FILTER_TLV_FLAGS_PPDU_END_STATUS_DONE,
+                    HTT_RX_FILTER_TLV_FLAGS_PPDU_END_STATUS_DONE |
+                    HTT_RX_FILTER_TLV_FLAGS_PPDU_START_USER_INFO,
        .pkt_filter_flags0 = HTT_RX_FP_MGMT_FILTER_FLAGS0,
        .pkt_filter_flags1 = HTT_RX_FP_MGMT_FILTER_FLAGS1,
        .pkt_filter_flags2 = HTT_RX_FP_CTRL_FILTER_FLASG2,