2020-10-21 14:42:34

by Sven Eckelmann

[permalink] [raw]
Subject: [PATCH] ath11k: Initialize complete alpha2 for regulatory change

The function ath11k_wmi_send_init_country_cmd is taking 3 byte from alpha2
of the structure wmi_init_country_params. But the function
ath11k_reg_notifier is only initializing 2 bytes. The third byte is
therefore always an uninitialized value.

The command can happen to look like

0c 00 87 02 01 00 00 00 00 00 00 00 43 41 f8 00

instead of

0c 00 87 02 01 00 00 00 00 00 00 00 43 41 00 00

Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Sven Eckelmann <[email protected]>
---
drivers/net/wireless/ath/ath11k/reg.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath11k/reg.c b/drivers/net/wireless/ath/ath11k/reg.c
index f6a1f0352989..83f75f8855eb 100644
--- a/drivers/net/wireless/ath/ath11k/reg.c
+++ b/drivers/net/wireless/ath/ath11k/reg.c
@@ -80,6 +80,7 @@ ath11k_reg_notifier(struct wiphy *wiphy, struct regulatory_request *request)
*/
init_country_param.flags = ALPHA_IS_SET;
memcpy(&init_country_param.cc_info.alpha2, request->alpha2, 2);
+ init_country_param.cc_info.alpha2[2] = 0;

ret = ath11k_wmi_send_init_country_cmd(ar, init_country_param);
if (ret)
--
2.28.0


2020-11-04 16:17:43

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath11k: Initialize complete alpha2 for regulatory change

Sven Eckelmann <[email protected]> writes:

> The function ath11k_wmi_send_init_country_cmd is taking 3 byte from alpha2
> of the structure wmi_init_country_params. But the function
> ath11k_reg_notifier is only initializing 2 bytes. The third byte is
> therefore always an uninitialized value.
>
> The command can happen to look like
>
> 0c 00 87 02 01 00 00 00 00 00 00 00 43 41 f8 00
>
> instead of
>
> 0c 00 87 02 01 00 00 00 00 00 00 00 43 41 00 00
>
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Signed-off-by: Sven Eckelmann <[email protected]>

On what hardware and firmware did you test this? I'll add that to the
commit log. I know it doesn't matter here but I want to have that info
anyway.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2020-11-04 16:20:07

by Sven Eckelmann

[permalink] [raw]
Subject: Re: [PATCH] ath11k: Initialize complete alpha2 for regulatory change

On Wednesday, 4 November 2020 17:14:12 CET Kalle Valo wrote:
> Sven Eckelmann <[email protected]> writes:
>
> > The function ath11k_wmi_send_init_country_cmd is taking 3 byte from alpha2
> > of the structure wmi_init_country_params. But the function
> > ath11k_reg_notifier is only initializing 2 bytes. The third byte is
> > therefore always an uninitialized value.
> >
> > The command can happen to look like
> >
> > 0c 00 87 02 01 00 00 00 00 00 00 00 43 41 f8 00
> >
> > instead of
> >
> > 0c 00 87 02 01 00 00 00 00 00 00 00 43 41 00 00
> >
> > Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> > Signed-off-by: Sven Eckelmann <[email protected]>
>
> On what hardware and firmware did you test this? I'll add that to the
> commit log. I know it doesn't matter here but I want to have that info
> anyway.

Tested with:

* IPQ8074 WLAN.HK.2.1.0.1-01161-QCAHKSWPL_SILICONZ-1
* IPQ8074 WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1
* IPQ8074 WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
* IPQ8074 WLAN.HK.2.4.0.1.r1-00019-QCAHKSWPL_SILICONZ-1
* IPQ8074 WLAN.HK.2.4.0.1.r1-00026-QCAHKSWPL_SILICONZ-2

Kind regards,
Sven


Attachments:
signature.asc (849.00 B)
This is a digitally signed message part.

2020-11-07 08:03:18

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath11k: Initialize complete alpha2 for regulatory change

Sven Eckelmann <[email protected]> wrote:

> The function ath11k_wmi_send_init_country_cmd is taking 3 byte from alpha2
> of the structure wmi_init_country_params. But the function
> ath11k_reg_notifier is only initializing 2 bytes. The third byte is
> therefore always an uninitialized value.
>
> The command can happen to look like
>
> 0c 00 87 02 01 00 00 00 00 00 00 00 43 41 f8 00
>
> instead of
>
> 0c 00 87 02 01 00 00 00 00 00 00 00 43 41 00 00
>
> Tested-on: IPQ8074 hw2.0 WLAN.HK.2.1.0.1-01161-QCAHKSWPL_SILICONZ-1
> Tested-on: IPQ8074 hw2.0 WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1
> Tested-on: IPQ8074 hw2.0 WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
> Tested-on: IPQ8074 hw2.0 WLAN.HK.2.4.0.1.r1-00019-QCAHKSWPL_SILICONZ-1
> Tested-on: IPQ8074 hw2.0 WLAN.HK.2.4.0.1.r1-00026-QCAHKSWPL_SILICONZ-2
>
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Signed-off-by: Sven Eckelmann <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

Patch applied to ath-next branch of ath.git, thanks.

383a32cde417 ath11k: Initialize complete alpha2 for regulatory change

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches