Search Linux Wireless

Re: [PATCH v3] ath10k: support NET_DETECT WoWLAN feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wen Gong <wgong@xxxxxxxxxxxxxx> writes:

> For WoWLAN support, it expect to support wake up based on discovery of
> one or more known SSIDs. This is the WIPHY_WOWLAN_NET_DETECT feature,
> which shows up as an NL80211 feature flag.
>
> With an upgrade iw, this shows up in 'iw phy' as:
> WoWLAN support:
> * wake up on network detection, up to 16 match sets
> And it can use command:
> "iw phy0 wowlan enable net-detect interval 5000 delay 30 freqs 2412
> matches ssid foo" to configure the parameters of net detect.
>
> Firmware will do scan by the configured parameters after suspend and
> wakeup if it found matched SSIDs. Tested with QCA6174 hw3.0 with
> firmware WLAN.RM.4.4.1-00110-QCARMSWPZ-1.
>
> Signed-off-by: Wen Gong <wgong@xxxxxxxxxxxxxx>

[...]

> +/* Request FW to start PNO operation */
> +static struct sk_buff *ath10k_wmi_tlv_op_gen_config_pno_start
> +				(struct ath10k *ar,
> +				u32 vdev_id,
> +				struct wmi_pno_scan_req *pno)
> +{
> +	struct wmi_tlv_wow_nlo_config_cmd *cmd;
> +	struct wmi_tlv *tlv;
> +	struct sk_buff *skb;
> +	struct nlo_configured_parameters *nlo_list;
> +	u32 *channel_list;

[...]

> +	channel_list = (u32 *)ptr;
> +	for (i = 0; i < cmd->num_of_channels; i++)
> +		channel_list[i] = pno->a_networks[0].channels[i];

channel_list does not look endian safe to me, I'll change this to use
__le32.

> +enum wmi_nlo_cipher_algorithm {
> +	WMI_NLO_CIPHER_ALGO_NONE           = 0x00,
> +	WMI_NLO_CIPHER_ALGO_WEP40          = 0x01,
> +	WMI_NLO_CIPHER_ALGO_TKIP           = 0x02,
> +	WMI_NLO_CIPHER_ALGO_CCMP           = 0x04,
> +	WMI_NLO_CIPHER_ALGO_WEP104         = 0x05,
> +	WMI_NLO_CIPHER_ALGO_BIP            = 0x06,
> +	WMI_NLO_CIPHER_ALGO_WPA_USE_GROUP  = 0x100,
> +	WMI_NLO_CIPHER_ALGO_RSN_USE_GROUP  = 0x100,

Two defines with the same value 0x100, is this really correct?

-- 
Kalle Valo



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux