Commit 1daf58b2 authored by Seevalamuthu Mariappan's avatar Seevalamuthu Mariappan Committed by Kalle Valo

ath11k: Ignore resetting peer auth flag in peer assoc cmd

Incase of hardware encryption, WMI_PEER_AUTH flag will be set by firmware
during install key. Since install key wont be done for software encryption
mode, firmware will not set this flag. Due to this, seeing traffic failure
in software encryption. Hence, avoid resetting peer auth flag if hardware
encryption disabled.

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01421-QCAHKSWPL_SILICONZ-1
Signed-off-by: default avatarSeevalamuthu Mariappan <seevalam@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1606369414-25211-1-git-send-email-seevalam@codeaurora.org
parent e8e55d89
...@@ -1688,7 +1688,8 @@ int ath11k_wmi_vdev_install_key(struct ath11k *ar, ...@@ -1688,7 +1688,8 @@ int ath11k_wmi_vdev_install_key(struct ath11k *ar,
static inline void static inline void
ath11k_wmi_copy_peer_flags(struct wmi_peer_assoc_complete_cmd *cmd, ath11k_wmi_copy_peer_flags(struct wmi_peer_assoc_complete_cmd *cmd,
struct peer_assoc_params *param) struct peer_assoc_params *param,
bool hw_crypto_disabled)
{ {
cmd->peer_flags = 0; cmd->peer_flags = 0;
...@@ -1742,6 +1743,7 @@ ath11k_wmi_copy_peer_flags(struct wmi_peer_assoc_complete_cmd *cmd, ...@@ -1742,6 +1743,7 @@ ath11k_wmi_copy_peer_flags(struct wmi_peer_assoc_complete_cmd *cmd,
cmd->peer_flags |= WMI_PEER_AUTH; cmd->peer_flags |= WMI_PEER_AUTH;
if (param->need_ptk_4_way) { if (param->need_ptk_4_way) {
cmd->peer_flags |= WMI_PEER_NEED_PTK_4_WAY; cmd->peer_flags |= WMI_PEER_NEED_PTK_4_WAY;
if (!hw_crypto_disabled)
cmd->peer_flags &= ~WMI_PEER_AUTH; cmd->peer_flags &= ~WMI_PEER_AUTH;
} }
if (param->need_gtk_2_way) if (param->need_gtk_2_way)
...@@ -1809,7 +1811,9 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar, ...@@ -1809,7 +1811,9 @@ int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
cmd->peer_new_assoc = param->peer_new_assoc; cmd->peer_new_assoc = param->peer_new_assoc;
cmd->peer_associd = param->peer_associd; cmd->peer_associd = param->peer_associd;
ath11k_wmi_copy_peer_flags(cmd, param); ath11k_wmi_copy_peer_flags(cmd, param,
test_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED,
&ar->ab->dev_flags));
ether_addr_copy(cmd->peer_macaddr.addr, param->peer_mac); ether_addr_copy(cmd->peer_macaddr.addr, param->peer_mac);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment