[PATCH ath-next] wifi: ath12k: cancel scan only on active scan vdev

Jeff Johnson jeff.johnson at oss.qualcomm.com
Mon Jan 12 08:28:06 PST 2026


On 1/6/2026 10:02 PM, Manish Dharanenthiran wrote:
> Cancel the scheduled scan request only on the vdev that has an active
> scan running. Currently, ahvif->links_map is used to obtain the links,
> but this includes links for which no scan is scheduled. In failure cases
> where the scan fails due to an invalid channel definition, other links
> which are not yet brought up (vdev not created) may also be accessed,
> leading to the following trace:
> 
> Unable to handle kernel paging request at virtual address 0000000000004c8c
> pc : _raw_spin_lock_bh+0x1c/0x54
> lr : ath12k_scan_abort+0x20/0xc8 [ath12k]
> 
> Call trace:
>  _raw_spin_lock_bh+0x1c/0x54 (P)
>  ath12k_mac_op_cancel_hw_scan+0xac/0xc4 [ath12k]
>  ieee80211_scan_cancel+0xcc/0x12c [mac80211]
>  ieee80211_do_stop+0x6c4/0x7a8 [mac80211]
>  ieee80211_stop+0x60/0xd8 [mac80211]
> 
> Skip links that are not created or are not the current scan vdev. This
> ensures only the scan for the matching links is aborted and avoids
> aborting unrelated links during cancellation, thus aligning with how
> start/cleanup manage ar->scan.arvif.
> 
> Also, remove the redundant arvif->is_started check from
> ath12k_mac_op_cancel_hw_scan() that was introduced in commit 3863f014ad23
> ("wifi: ath12k: symmetrize scan vdev creation and deletion during HW
> scan") to avoid deleting the scan interface if the scan is triggered on
> the existing AP vdev as this use case is already handled in
> ath12k_scan_vdev_clean_work().
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
> 
> Fixes: feed05f1526e ("wifi: ath12k: Split scan request for split band device")
> Signed-off-by: Manish Dharanenthiran <manish.dharanenthiran at oss.qualcomm.com>

Since this fixes an issue in released kernels I'm taking this through the
ath-current branch.

/jeff



More information about the ath12k mailing list