]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: ath12k: Set up MLO after SSR
authorRamya Gnanasekar <ramya.gnanasekar@oss.qualcomm.com>
Fri, 27 Feb 2026 04:11:27 +0000 (09:41 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Mon, 2 Mar 2026 21:02:05 +0000 (13:02 -0800)
commitf33a8e41826831fc8ceb5f62833488cd9388ed59
tree9b7ed5e40e9281c69040bd89a0930cda2475807c
parent6508c9752451a7e5e44a325e8563897a67f5344b
wifi: ath12k: Set up MLO after SSR

During recovery of an MLO setup from a core reset,
ATH12K_GROUP_FLAG_REGISTERED is set because ath12k_mac_unregister is not
called during core reset. So, when an MLO setup is recovering from a core
reset, ath12k_core_mlo_setup() is skipped. Hence, the firmware will not
have information about partner links. This makes MLO association fail
after recovery.

To resolve this, call ath12k_core_mlo_setup() during recovery, to set up
MLO. Also, if MLO setup fails during recovery, call
ath12k_mac_unregister() and ath12k_mac_destroy() to unregister mac and
then tear down the mac structures.

Also, initiate MLO teardown in the hardware group stop sequence to align
with the hardware group start sequence.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01181-QCAHKSWPL_SILICONZ-1

Signed-off-by: Ramya Gnanasekar <ramya.gnanasekar@oss.qualcomm.com>
Signed-off-by: Roopni Devanathan <roopni.devanathan@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260227041127.3265879-1-roopni.devanathan@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/core.c