[PATCH v3 6/6] ath11k: support GTK rekey offload
Kalle Valo
kvalo at kernel.org
Tue Feb 22 05:54:59 PST 2022
Carl Huang <quic_cjhuang at quicinc.com> writes:
> Host sets GTK related info to firmware before WoW is enabled, and
> gets rekey replay_count and then disables GTK rekey when WoW quits.
>
> Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
>
> Signed-off-by: Carl Huang <quic_cjhuang at quicinc.com>
[...]
> +static void ath11k_mac_op_set_rekey_data(struct ieee80211_hw *hw,
> + struct ieee80211_vif *vif,
> + struct cfg80211_gtk_rekey_data *data)
> +{
> + struct ath11k *ar = hw->priv;
> + struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif);
> + struct ath11k_rekey_data *rekey_data = &arvif->rekey_data;
> +
> + ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "Set rekey data vdev_id %d\n",
> + arvif->vdev_id);
> + mutex_lock(&ar->conf_mutex);
> +
> + memcpy(rekey_data->kck, data->kck, NL80211_KCK_LEN);
> + memcpy(rekey_data->kek, data->kek, NL80211_KEK_LEN);
> +
> + /* supplicant works on big-endian, converts to cpu-endian */
> + rekey_data->replay_ctr = be64_to_cpu(get_unaligned((u64 *)data->replay_ctr));
This has a warning:
drivers/net/wireless/ath/ath11k/mac.c:8219:34: warning: cast to restricted __be64
In the pending branch I changed this to:
/* The supplicant works on big-endian, the firmware expects it on
* little endian.
*/
rekey_data->replay_ctr = get_unaligned_be64(data->replay_ctr);
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list