]> www.infradead.org Git - users/jedix/linux-maple.git/commit
wifi: ath12k: defer vdev creation for MLO
authorRameshkumar Sundaram <quic_ramess@quicinc.com>
Tue, 26 Nov 2024 17:11:37 +0000 (19:11 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Fri, 29 Nov 2024 11:17:46 +0000 (13:17 +0200)
commitaa80f12f3bedc2d73e4cc43554aee44c277cc938
treea9a481af445127546a7c20e1d99fde3d86b03e3e
parent1833a2ce5d7df2b064e491d3e912da9fa0b85eb9
wifi: ath12k: defer vdev creation for MLO

Currently for single radio devices (ah->num_radio == 1)
ath12k_mac_op_add_interface() creates vdev and later hw scan and
assign_vif_chanctx uses the same. For MLO, vdev create request should carry ML
address which will not be known during ath12k_mac_op_add_interface() as vif
will be marked as ML only after links are added to it.

If hw scan is requested, the vdev will be deleted post hw scan and subsequent
assign_vif_chanctx call will create new vdev with ML address. But in certain
cases assign_vif_chanctx could be called without any prior hw scan request and
reusing the previously created vdev causes a non-ML vdev to be used for an ML
vif and firmware operates the vdev in non-ML mode.

Fix this by deferring vdev creation for interface until hw scan or
assign_vif_chanctx request is received from mac80211.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Rameshkumar Sundaram <quic_ramess@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://patch.msgid.link/20241126171139.2350704-9-kvalo@kernel.org
drivers/net/wireless/ath/ath12k/mac.c