]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: ath12k: fix BSS chan info request WMI command
authorP Praneesh <quic_ppranees@quicinc.com>
Sun, 31 Mar 2024 18:32:31 +0000 (00:02 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2024 14:28:50 +0000 (16:28 +0200)
[ Upstream commit 59529c982f85047650fd473db903b23006a796c6 ]

Currently, the firmware returns incorrect pdev_id information in
WMI_PDEV_BSS_CHAN_INFO_EVENTID, leading to incorrect filling of
the pdev's survey information.

To prevent this issue, when requesting BSS channel information
through WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID, firmware expects
pdev_id as one of the arguments in this WMI command.

Add pdev_id to the struct wmi_pdev_bss_chan_info_req_cmd and fill it
during ath12k_wmi_pdev_bss_chan_info_request(). This resolves the
issue of sending the correct pdev_id in WMI_PDEV_BSS_CHAN_INFO_EVENTID.

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: P Praneesh <quic_ppranees@quicinc.com>
Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://patch.msgid.link/20240331183232.2158756-2-quic_kathirve@quicinc.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath12k/wmi.c
drivers/net/wireless/ath/ath12k/wmi.h

index 21399ad233c0221b750e0e0e9008e90e01067c51..9105fdd14c6671c8e7906d16458f8af77d2bb892 100644 (file)
@@ -1501,6 +1501,7 @@ int ath12k_wmi_pdev_bss_chan_info_request(struct ath12k *ar,
        cmd->tlv_header = ath12k_wmi_tlv_cmd_hdr(WMI_TAG_PDEV_BSS_CHAN_INFO_REQUEST,
                                                 sizeof(*cmd));
        cmd->req_type = cpu_to_le32(type);
+       cmd->pdev_id = cpu_to_le32(ar->pdev->pdev_id);
 
        ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
                   "WMI bss chan info req type %d\n", type);
index c75a6fa1f7e089158b6371987314e6362aba9ae7..6549c3853be46e8e0b42bca262ee9025e384ba3e 100644 (file)
@@ -3058,6 +3058,7 @@ struct wmi_pdev_bss_chan_info_req_cmd {
        __le32 tlv_header;
        /* ref wmi_bss_chan_info_req_type */
        __le32 req_type;
+       __le32 pdev_id;
 } __packed;
 
 struct wmi_ap_ps_peer_cmd {