[PATCH 2/6] ath11k: Add WoW net-detect functionality
Kalle Valo
kvalo at kernel.org
Thu Dec 9 06:57:46 PST 2021
Carl Huang <cjhuang at codeaurora.org> writes:
> Implement net-detect feature by setting flag
> WIPHY_WOWLAN_NET_DETECT if firmware supports this
> feature. Driver sets the related PNO configuration
> to firmware before entering WoW and firmware then
> scans periodically and wakes up host if a specific
> SSID is found.
>
> Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
>
> Signed-off-by: Carl Huang <cjhuang at codeaurora.org>
[...]
> --- a/drivers/net/wireless/ath/ath11k/wmi.h
> +++ b/drivers/net/wireless/ath/ath11k/wmi.h
> @@ -5626,6 +5626,173 @@ struct wmi_wow_del_pattern_cmd {
> u32 pattern_type;
> } __packed;
>
> +#define WMI_PNO_MAX_SCHED_SCAN_PLANS 2
> +#define WMI_PNO_MAX_SCHED_SCAN_PLAN_INT 7200
> +#define WMI_PNO_MAX_SCHED_SCAN_PLAN_ITRNS 100
> +#define WMI_PNO_MAX_NETW_CHANNELS 26
> +#define WMI_PNO_MAX_NETW_CHANNELS_EX 60
> +#define WMI_PNO_MAX_SUPP_NETWORKS WLAN_SCAN_PARAMS_MAX_SSID
> +#define WMI_PNO_MAX_IE_LENGTH WLAN_SCAN_PARAMS_MAX_IE_LEN
> +
> +/*size based of dot11 declaration without extra IEs as we will not carry those for PNO*/
The comment style is:
/* foo bar */
That is add space after and before asterisk.
> +
> + memcpy(pno->a_networks[i].ssid.ssid,
> + nd_config->match_sets[i].ssid.ssid,
> + nd_config->match_sets[i].ssid.ssid_len);
> + pno->a_networks[i].authentication = 0;
> + pno->a_networks[i].encryption = 0;
> + pno->a_networks[i].bcast_nw_type = 0;
> +
> + /*Copying list of valid channel into request */
Same here.
> @@ -433,8 +592,14 @@ int ath11k_wow_op_resume(struct ieee80211_hw *hw)
> ath11k_hif_irq_enable(ar->ab);
>
> ret = ath11k_wow_wakeup(ar->ab);
> - if (ret)
> + if (ret) {
> ath11k_warn(ar->ab, "failed to wakeup from wow: %d\n", ret);
> + goto exit;
> + }
> +
> + ret = ath11k_wow_nlo_cleanup(ar);
> + if (ret)
> + ath11k_warn(ar->ab, "failed to cleanup nlo: %d\n", ret);
>
> exit:
> if (ret) {
For consistency please add goto exit also for ath11k_wow_nlo_cleanup().
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list