2024-05-20 03:10:00

by Carl Huang

[permalink] [raw]
Subject: [PATCH] wifi: ath11k: fix WCN6750 firmware crash caused by 17 num_vdevs

WCN6750 firmware crashes because of num_vdevs changed from 4 to 17
in ath11k_init_wmi_config_qca6390() as the ab->hw_params.num_vdevs
is 17. This is caused by commit f019f4dff2e4("wifi: ath11k: support
2 station interfaces") which assigns ab->hw_params.num_vdevs directly
to config->num_vdevs in ath11k_init_wmi_config_qca6390(), therefore
WCN6750 firmware crashes as it can't support such a big num_vdevs.

Fix it by assign 3 to num_vdevs in hw_params for WCN6750 as 3 is
sufficient too.

Fixes: f019f4dff2e4 ("wifi: ath11k: support 2 station interfaces")
Reported-by: Luca Weiss <[email protected]>
Closes: https://lore.kernel.org/r/[email protected]/
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01371-QCAMSLSWPLZ-1

Signed-off-by: Carl Huang <[email protected]>
---
drivers/net/wireless/ath/ath11k/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c
index 3cc817a3b4a4..b82e8fb28541 100644
--- a/drivers/net/wireless/ath/ath11k/core.c
+++ b/drivers/net/wireless/ath/ath11k/core.c
@@ -604,7 +604,7 @@ static const struct ath11k_hw_params ath11k_hw_params[] = {
.coldboot_cal_ftm = true,
.cbcal_restart_fw = false,
.fw_mem_mode = 0,
- .num_vdevs = 16 + 1,
+ .num_vdevs = 3,
.num_peers = 512,
.supports_suspend = false,
.hal_desc_sz = sizeof(struct hal_rx_desc_qcn9074),

base-commit: 1025c616ee13372f3803b158abb1d87ef368ae3d
--
2.34.1



2024-05-20 04:57:13

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath11k: fix WCN6750 firmware crash caused by 17 num_vdevs

Carl Huang <[email protected]> writes:

> WCN6750 firmware crashes because of num_vdevs changed from 4 to 17
> in ath11k_init_wmi_config_qca6390() as the ab->hw_params.num_vdevs
> is 17. This is caused by commit f019f4dff2e4("wifi: ath11k: support
> 2 station interfaces") which assigns ab->hw_params.num_vdevs directly
> to config->num_vdevs in ath11k_init_wmi_config_qca6390(), therefore
> WCN6750 firmware crashes as it can't support such a big num_vdevs.
>
> Fix it by assign 3 to num_vdevs in hw_params for WCN6750 as 3 is
> sufficient too.
>
> Fixes: f019f4dff2e4 ("wifi: ath11k: support 2 station interfaces")
> Reported-by: Luca Weiss <[email protected]>
> Closes: https://lore.kernel.org/r/[email protected]/
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01371-QCAMSLSWPLZ-1
>
> Signed-off-by: Carl Huang <[email protected]>

Luca, can you test this as well just to be sure? The patch is here:

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

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

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

2024-05-20 21:13:54

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath11k: fix WCN6750 firmware crash caused by 17 num_vdevs

On 5/19/2024 8:07 PM, Carl Huang wrote:
> WCN6750 firmware crashes because of num_vdevs changed from 4 to 17
> in ath11k_init_wmi_config_qca6390() as the ab->hw_params.num_vdevs
> is 17. This is caused by commit f019f4dff2e4("wifi: ath11k: support
> 2 station interfaces") which assigns ab->hw_params.num_vdevs directly
> to config->num_vdevs in ath11k_init_wmi_config_qca6390(), therefore
> WCN6750 firmware crashes as it can't support such a big num_vdevs.
>
> Fix it by assign 3 to num_vdevs in hw_params for WCN6750 as 3 is
> sufficient too.
>
> Fixes: f019f4dff2e4 ("wifi: ath11k: support 2 station interfaces")
> Reported-by: Luca Weiss <[email protected]>
> Closes: https://lore.kernel.org/r/[email protected]/
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01371-QCAMSLSWPLZ-1
>
> Signed-off-by: Carl Huang <[email protected]>

Acked-by: Jeff Johnson <[email protected]>


2024-05-21 08:05:03

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath11k: fix WCN6750 firmware crash caused by 17 num_vdevs

Carl Huang <[email protected]> wrote:

> WCN6750 firmware crashes because of num_vdevs changed from 4 to 17
> in ath11k_init_wmi_config_qca6390() as the ab->hw_params.num_vdevs
> is 17. This is caused by commit f019f4dff2e4("wifi: ath11k: support
> 2 station interfaces") which assigns ab->hw_params.num_vdevs directly
> to config->num_vdevs in ath11k_init_wmi_config_qca6390(), therefore
> WCN6750 firmware crashes as it can't support such a big num_vdevs.
>
> Fix it by assign 3 to num_vdevs in hw_params for WCN6750 as 3 is
> sufficient too.
>
> Fixes: f019f4dff2e4 ("wifi: ath11k: support 2 station interfaces")
> Reported-by: Luca Weiss <[email protected]>
> Closes: https://lore.kernel.org/r/[email protected]/
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01371-QCAMSLSWPLZ-1
>
> Signed-off-by: Carl Huang <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

This patch should go to v5.10 but I'll wait for Luca to test this first. No
rush with testing, this is just a status update.

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

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


2024-05-22 07:45:11

by Luca Weiss

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath11k: fix WCN6750 firmware crash caused by 17 num_vdevs

On Tue May 21, 2024 at 10:04 AM CEST, Kalle Valo wrote:
> Carl Huang <[email protected]> wrote:
>
> > WCN6750 firmware crashes because of num_vdevs changed from 4 to 17
> > in ath11k_init_wmi_config_qca6390() as the ab->hw_params.num_vdevs
> > is 17. This is caused by commit f019f4dff2e4("wifi: ath11k: support
> > 2 station interfaces") which assigns ab->hw_params.num_vdevs directly
> > to config->num_vdevs in ath11k_init_wmi_config_qca6390(), therefore
> > WCN6750 firmware crashes as it can't support such a big num_vdevs.
> >
> > Fix it by assign 3 to num_vdevs in hw_params for WCN6750 as 3 is
> > sufficient too.
> >
> > Fixes: f019f4dff2e4 ("wifi: ath11k: support 2 station interfaces")
> > Reported-by: Luca Weiss <[email protected]>
> > Closes: https://lore.kernel.org/r/[email protected]/
> > Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
> > Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01371-QCAMSLSWPLZ-1
> >
> > Signed-off-by: Carl Huang <[email protected]>
> > Signed-off-by: Kalle Valo <[email protected]>
>
> This patch should go to v5.10 but I'll wait for Luca to test this first. No
> rush with testing, this is just a status update.

Hi Kalle & Carl,

Thanks for adding me to CC, I didn't receive the original patch (@Carl
maybe check your email setup why I didn't get that one?).

I've reverted the previous patch "fix WCN6750 firmware crash" in my
branch and applied this one and everything still looks fine. Thanks!

Tested-by: Luca Weiss <[email protected]>

Regards
Luca

2024-05-23 12:44:17

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath11k: fix WCN6750 firmware crash caused by 17 num_vdevs

Carl Huang <[email protected]> wrote:

> WCN6750 firmware crashes because of num_vdevs changed from 4 to 17
> in ath11k_init_wmi_config_qca6390() as the ab->hw_params.num_vdevs
> is 17. This is caused by commit f019f4dff2e4 ("wifi: ath11k: support
> 2 station interfaces") which assigns ab->hw_params.num_vdevs directly
> to config->num_vdevs in ath11k_init_wmi_config_qca6390(), therefore
> WCN6750 firmware crashes as it can't support such a big num_vdevs.
>
> Fix it by assign 3 to num_vdevs in hw_params for WCN6750 as 3 is
> sufficient too.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01371-QCAMSLSWPLZ-1
>
> Fixes: f019f4dff2e4 ("wifi: ath11k: support 2 station interfaces")
> Reported-by: Luca Weiss <[email protected]>
> Tested-by: Luca Weiss <[email protected]>
> Closes: https://lore.kernel.org/r/[email protected]/
> Signed-off-by: Carl Huang <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

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

ed281c6ab6eb wifi: ath11k: fix WCN6750 firmware crash caused by 17 num_vdevs

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

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