diff mbox series

[1/2] wifi: ath12k: fix BSS chan info request WMI command

Message ID 20240331183232.2158756-2-quic_kathirve@quicinc.com (mailing list archive)
State Accepted
Commit 59529c982f85047650fd473db903b23006a796c6
Delegated to: Kalle Valo
Headers show
Series wifi: ath12k: fix BSS chan info request WMI command | expand

Commit Message

Karthikeyan Kathirvel March 31, 2024, 6:32 p.m. UTC
From: P Praneesh <quic_ppranees@quicinc.com>

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: d889913205 ("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>
---
 drivers/net/wireless/ath/ath12k/wmi.c | 1 +
 drivers/net/wireless/ath/ath12k/wmi.h | 1 +
 2 files changed, 2 insertions(+)

Comments

Jeff Johnson April 1, 2024, 3 p.m. UTC | #1
On 3/31/2024 11:32 AM, Karthikeyan Kathirvel wrote:
> From: P Praneesh <quic_ppranees@quicinc.com>
> 
> 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: d889913205 ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
> 

remove this blank line. Fixes tag should be together with S-o-b

> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
Jeff Johnson April 1, 2024, 4:12 p.m. UTC | #2
On 4/1/2024 8:00 AM, Jeff Johnson wrote:
> On 3/31/2024 11:32 AM, Karthikeyan Kathirvel wrote:
>> From: P Praneesh <quic_ppranees@quicinc.com>
>>
>> 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: d889913205 ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
>>
> 
> remove this blank line. Fixes tag should be together with S-o-b
> 
>> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
>> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
> 
> 
Kalle can fix this when he merges into pending

Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Kalle Valo April 2, 2024, 11:46 a.m. UTC | #3
Karthikeyan Kathirvel <quic_kathirve@quicinc.com> writes:

> From: P Praneesh <quic_ppranees@quicinc.com>
>
> 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: d889913205 ("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>

What about backwards compatibility with older firmware? And what about
WCN7850?
Kalle Valo April 5, 2024, 12:59 p.m. UTC | #4
Jeff Johnson <quic_jjohnson@quicinc.com> writes:

> On 4/1/2024 8:00 AM, Jeff Johnson wrote:
>
>> On 3/31/2024 11:32 AM, Karthikeyan Kathirvel wrote:
>>> From: P Praneesh <quic_ppranees@quicinc.com>
>>>
>>> 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: d889913205 ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
>>>
>> 
>> remove this blank line. Fixes tag should be together with S-o-b
>> 
>>> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
>>> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
>> 
>> 
> Kalle can fix this when he merges into pending

Did that now to both patches:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=8b2506bb2baa28a0e6ee5d4d71d7fca32e6da9d1

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=d24b046bfc8f7255f4bef964ea5d9fc976273301

I also fixed this:

ERROR: Commit id shorter than 12 digits: Fixes: d889913205 ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Should be: Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Kalle Valo Aug. 7, 2024, 8:12 a.m. UTC | #5
Karthikeyan Kathirvel <quic_kathirve@quicinc.com> wrote:

> 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>

2 patches applied to ath-next branch of ath.git, thanks.

59529c982f85 wifi: ath12k: fix BSS chan info request WMI command
dd98d54db29f wifi: ath12k: match WMI BSS chan info structure with firmware definition
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 34de3d16efc0..72f3bfb904f2 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -1525,6 +1525,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);
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index 6a2da0739ac8..f67e355ee202 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -3071,6 +3071,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 {