Re: [PATCH net] wifi: ath12k: properly set single_chip_mlo_supp to true in ath12k_core_alloc()

From: Jeff Johnson
Date: Tue Mar 18 2025 - 12:38:59 EST


On 3/3/2025 7:00 AM, Neil Armstrong wrote:
> In commit 46d16f7e1d14 ("wifi: ath12k: rename mlo_capable_flags to single_chip_mlo_supp")
> the line:
> ab->mlo_capable_flags = ATH12K_INTRA_DEVICE_MLO_SUPPORT;
> was incorrectly updated to:
> ab->single_chip_mlo_supp = false;
> leading to always disabling INTRA_DEVICE_MLO even if the device supports it.
>
> The firmware "WLAN.HMT.1.1.c5-00156-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1"
> crashes on driver initialization with:
> ath12k_pci 0000:01:00.0: chip_id 0x2 chip_family 0x4 board_id 0x3d soc_id 0x40170200
> ath12k_pci 0000:01:00.0: fw_version 0x110f009c fw_build_timestamp 2024-05-30 11:35 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00156-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1
> ath12k_pci 0000:01:00.0: ignore reset dev flags 0x200
> ath12k_pci 0000:01:00.0: failed to receive wmi unified ready event: -110
> ath12k_pci 0000:01:00.0: failed to start core: -110
> failed to send QMI message
> ath12k_pci 0000:01:00.0: qmi failed to send mode request, mode: 4, err = -5
> ath12k_pci 0000:01:00.0: qmi failed to send wlan mode off
>
> With ab->single_chip_mlo_supp set to True, firmware loads nominally.
>
> Fixes: 46d16f7e1d14 ("wifi: ath12k: rename mlo_capable_flags to single_chip_mlo_supp")
> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> ---
> Bisect log for reference:
> The bisect leaded to:
> git bisect start 'v6.14-rc4' 'v6.12'
> git bisect good 5757b31666277e2b177b406e48878dc48d587a46
> git bisect bad d78794d4f4dbeac0a39e15d2fbc8e917741b5b7c
> git bisect bad cf33d96f50903214226b379b3f10d1f262dae018
> git bisect good 12e070eb6964b341b41677fd260af5a305316a1f
> git bisect bad 6917d207b469ee81e6dc7f8ccca29c234a16916d
> git bisect good 4fefbc66dfb356145633e571475be2459d73ce16
> git bisect bad a6ac667467b642c94928c24ac2eb40d20110983c
> git bisect bad b05d30c2b6df7e2172b18bf1baee9b202f9c6b53
> git bisect good 56dcbf0b520796e26b2bbe5686bdd305ad924954
> git bisect bad d302ac65ac938516487f57ae20f11e9cf6327606
> git bisect good 8c2143702d0719a0357600bca0236900781ffc78
> git bisect good a5686ae820fa7ab03226a3b0ff529720b7bac599
> git bisect bad 6f245ea0ec6c29b90c8fa4fdf6e178c646125d7e
> git bisect bad 46d16f7e1d1413ad7ff99c1334d8874623717745
> ---
> drivers/net/wireless/ath/ath12k/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath12k/core.c b/drivers/net/wireless/ath/ath12k/core.c
> index 0606116d6b9c491b6ede401b2e1aedfb619339a8..33aba5fceec946fad5a47a11a4d86b7be96e682e 100644
> --- a/drivers/net/wireless/ath/ath12k/core.c
> +++ b/drivers/net/wireless/ath/ath12k/core.c
> @@ -1927,7 +1927,7 @@ struct ath12k_base *ath12k_core_alloc(struct device *dev, size_t priv_size,
> ab->dev = dev;
> ab->hif.bus = bus;
> ab->qmi.num_radios = U8_MAX;
> - ab->single_chip_mlo_supp = false;
> + ab->single_chip_mlo_supp = true;
>
> /* Device index used to identify the devices in a group.
> *
>
> ---
> base-commit: 7eb172143d5508b4da468ed59ee857c6e5e01da6
> change-id: 20250303-topic-ath12k-fix-crash-49e9055c61a1
>
> Best regards,

NAK since this will break QCN
There is a series under internal review to address MLO issues for WCN chipsets