]> www.infradead.org Git - users/jedix/linux-maple.git/commit
wifi: ath12k: do not return invalid link id for scan link
authorSriram R <quic_srirrama@quicinc.com>
Tue, 26 Nov 2024 17:11:35 +0000 (19:11 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Fri, 29 Nov 2024 11:17:45 +0000 (13:17 +0200)
commit90570ba4610bdb1db39ef45f2b271a9f89680a9d
treef603dcd1f1b64aa7d5f14d2d2767421e9ca1c7e6
parent85edf16384d12db938a09458d89662cdff87068e
wifi: ath12k: do not return invalid link id for scan link

When a scan request is received, driver selects a link id for which the arvif
can be mapped. Same link is also used for getting the link conf address.
Currently, we return 0 as link id for a non ML vif, which is correct since that
is the default link id. Also when any of the link vif is active and the scan
request is for a channel in the active link we return its link id. But, when we
don't hit both of the above cases (i.e not a ML vif or no active link vif for
the channel is present) we currently return 0 as the link id.

Bu the problemis that this might not work out always, eg., when only one link
(eg. linkid = 1) is added to vif, then we won't find any link conf for link id
0 in the vif resulting in scan failure. During AP bringup, such scan failure
causes bringup issues.  Hence avoid sending link id 0 as default. Rather use a
default link for scan and default link address for the same. This scan vdev
will either be deleted if another scan is requested on same vif or when AP is
broughtup on same link or during interface cleanup.

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: Sriram R <quic_srirrama@quicinc.com>
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-7-kvalo@kernel.org
drivers/net/wireless/ath/ath12k/core.h
drivers/net/wireless/ath/ath12k/mac.c
drivers/net/wireless/ath/ath12k/mac.h