2021-09-14 16:45:22

by Jouni Malinen

[permalink] [raw]
Subject: [PATCH 1/3] ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED

From: Wen Gong <[email protected]>

When wlan interface is up, 11d scan is sent to the firmware, and the
firmware needs to spend couple of seconds to complete the 11d scan. If
immediately a normal scan from user space arrives to ath11k, then the
normal scan request is also sent to the firmware, but the scan started
event will be reported to ath11k until the 11d scan complete. When timed
out for the scan started in ath11k, ath11k stops the normal scan and the
firmware reports WMI_SCAN_EVENT_DEQUEUED to ath11k for the normal scan.
ath11k has no handler for the event and then timed out for the scan
completed in ath11k_scan_stop(), and ath11k prints the following error
message.

[ 1491.604750] ath11k_pci 0000:02:00.0: failed to receive scan abort comple: timed out
[ 1491.604756] ath11k_pci 0000:02:00.0: failed to stop scan: -110
[ 1491.604758] ath11k_pci 0000:02:00.0: failed to start hw scan: -110

Add a handler for WMI_SCAN_EVENT_DEQUEUED and then complete the scan to
get rid of the above error message.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1

Signed-off-by: Wen Gong <[email protected]>
Signed-off-by: Jouni Malinen <[email protected]>
---
drivers/net/wireless/ath/ath11k/wmi.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index ec46e06aace9..d11022455d97 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -6370,6 +6370,8 @@ static void ath11k_scan_event(struct ath11k_base *ab, struct sk_buff *skb)
ath11k_wmi_event_scan_start_failed(ar);
break;
case WMI_SCAN_EVENT_DEQUEUED:
+ __ath11k_mac_scan_finish(ar);
+ break;
case WMI_SCAN_EVENT_PREEMPTED:
case WMI_SCAN_EVENT_RESTARTED:
case WMI_SCAN_EVENT_FOREIGN_CHAN_EXIT:
--
2.25.1


2021-09-28 13:59:06

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/3] ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED

Jouni Malinen <[email protected]> wrote:

> When wlan interface is up, 11d scan is sent to the firmware, and the
> firmware needs to spend couple of seconds to complete the 11d scan. If
> immediately a normal scan from user space arrives to ath11k, then the
> normal scan request is also sent to the firmware, but the scan started
> event will be reported to ath11k until the 11d scan complete. When timed
> out for the scan started in ath11k, ath11k stops the normal scan and the
> firmware reports WMI_SCAN_EVENT_DEQUEUED to ath11k for the normal scan.
> ath11k has no handler for the event and then timed out for the scan
> completed in ath11k_scan_stop(), and ath11k prints the following error
> message.
>
> [ 1491.604750] ath11k_pci 0000:02:00.0: failed to receive scan abort comple: timed out
> [ 1491.604756] ath11k_pci 0000:02:00.0: failed to stop scan: -110
> [ 1491.604758] ath11k_pci 0000:02:00.0: failed to start hw scan: -110
>
> Add a handler for WMI_SCAN_EVENT_DEQUEUED and then complete the scan to
> get rid of the above error message.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
>
> Signed-off-by: Wen Gong <[email protected]>
> Signed-off-by: Jouni Malinen <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

3 patches applied to ath-next branch of ath.git, thanks.

441b3b5911f8 ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED
c677d4b1bcc4 ath11k: indicate scan complete for scan canceled when scan running
62db14ea95b1 ath11k: indicate to mac80211 scan complete with aborted flag for ATH11K_SCAN_STARTING state

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches