[PATCH ath-next] wifi: ath12k: fix error handling in creating hardware group
Vasanthakumar Thiagarajan
vasanthakumar.thiagarajan at oss.qualcomm.com
Thu Oct 30 09:59:27 PDT 2025
On 10/30/2025 7:38 AM, Baochen Qiang wrote:
> In ath12k_core_init() when ath12k_core_hw_group_create() fails,
> ath12k_core_hw_group_destroy() is called where for each device below
> path would get executed
>
> ath12k_core_soc_destroy()
> ath12k_qmi_deinit_service()
> qmi_handle_release()
>
> This results in kernel crash in case one of the device fails at
> qmi_handle_init() when creating hardware group:
>
> ath12k_pci 0000:10:00.0: failed to initialize qmi handle
> ath12k_pci 0000:10:00.0: failed to initialize qmi :-517
> ath12k_pci 0000:10:00.0: failed to create soc core: -517
> ath12k_pci 0000:10:00.0: unable to create hw group
> BUG: unable to handle page fault for address: ffffffffffffffb7
> RIP: 0010:qmi_handle_release
> Call Trace:
> <TASK>
> ath12k_qmi_deinit_service
> ath12k_core_hw_group_destroy
> ath12k_core_init
> ath12k_pci_probe
>
> The detailed reason is, when qmi_handle_init() fails for a device
> ab->qmi.handle is not correctly initialized. Then
> ath12k_core_hw_group_create() returns failure, since error handing
> is done for all device, eventually qmi_handle_release() is called for the
> issue device and finally kernel crashes due to the uninitialized
> ab->qmi.handle.
>
> Fix this by moving error handling to ath12k_core_hw_group_create(), this
> way the issue device can be skipped.
>
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>
> Fixes: 6f245ea0ec6c ("wifi: ath12k: introduce device group abstraction")
> Link: https://lore.kernel.org/ath12k/fabc97122016d1a66a53ddedd965d134@posteo.net
> Reported-by: a-development <a-development at posteo.de>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220518
> Tested-by: a-development <a-development at posteo.de>
> Signed-off-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan at oss.qualcomm.com>
More information about the ath12k
mailing list