diff options
author | Baochen Qiang <quic_bqiang@quicinc.com> | 2022-05-09 14:57:31 +0300 |
---|---|---|
committer | Kalle Valo <quic_kvalo@quicinc.com> | 2022-05-10 19:32:07 +0300 |
commit | 3a5627b94222c3abc7e65486e2d2c0cc0a35c140 (patch) | |
tree | 9a4799e3192f9a2411468c15ccb8c25a16b71fb5 /drivers/net/wireless/ath/ath11k/wmi.c | |
parent | 0f84a156aa3b9c9889c64a31d36b533508fabcb7 (diff) | |
download | lwn-3a5627b94222c3abc7e65486e2d2c0cc0a35c140.tar.gz lwn-3a5627b94222c3abc7e65486e2d2c0cc0a35c140.zip |
ath11k: Implement remain-on-channel support
Add remain on channel support, it is needed in several
scenarios such as Passpoint etc.
Currently this is supported by QCA6390, WCN6855, IPQ8074,
IPQ6018 and QCN9074.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220506013614.1580274-2-quic_bqiang@quicinc.com
Diffstat (limited to 'drivers/net/wireless/ath/ath11k/wmi.c')
-rw-r--r-- | drivers/net/wireless/ath/ath11k/wmi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c index 63463b6c63be..0eb2e5ef45d2 100644 --- a/drivers/net/wireless/ath/ath11k/wmi.c +++ b/drivers/net/wireless/ath/ath11k/wmi.c @@ -5264,6 +5264,8 @@ static void ath11k_wmi_event_scan_started(struct ath11k *ar) break; case ATH11K_SCAN_STARTING: ar->scan.state = ATH11K_SCAN_RUNNING; + if (ar->scan.is_roc) + ieee80211_ready_on_channel(ar->hw); complete(&ar->scan.started); break; } @@ -5346,6 +5348,8 @@ static void ath11k_wmi_event_scan_foreign_chan(struct ath11k *ar, u32 freq) case ATH11K_SCAN_RUNNING: case ATH11K_SCAN_ABORTING: ar->scan_channel = ieee80211_get_channel(ar->hw->wiphy, freq); + if (ar->scan.is_roc && ar->scan.roc_freq == freq) + complete(&ar->scan.on_channel); break; } } |