mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
48 lines
1.9 KiB
Diff
48 lines
1.9 KiB
Diff
From 8717db7ee802b71fa3f2a79b265b1325bc61210c Mon Sep 17 00:00:00 2001
|
|
From: Seevalamuthu Mariappan <seevalam@codeaurora.org>
|
|
Date: Tue, 28 Sep 2021 12:05:40 +0300
|
|
Subject: [PATCH] ath11k: Add vdev start flag to disable hardware encryption
|
|
|
|
Firmware blocks all data traffic until the key is plumbed. But, with
|
|
software encryption mode, key is never plumbed to firmware. Due to this,
|
|
a traffic failure in software encryption mode has been observed. Hence,
|
|
firmware has introduced a flag to differentiate software encryption
|
|
mode. This flag can be passed during vdev_start command.
|
|
|
|
Enable WMI_VDEV_START_HW_ENCRYPTION_DISABLED flag in vdev_start command
|
|
to notify firmware to disable hardware encryption for a vdev. This is set
|
|
if raw mode software encryption is enabled.
|
|
|
|
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01421-QCAHKSWPL_SILICONZ-1
|
|
|
|
Signed-off-by: Seevalamuthu Mariappan <seevalam@codeaurora.org>
|
|
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
|
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
|
Link: https://lore.kernel.org/r/20210721212029.142388-5-jouni@codeaurora.org
|
|
---
|
|
drivers/net/wireless/ath/ath11k/wmi.c | 2 ++
|
|
drivers/net/wireless/ath/ath11k/wmi.h | 1 +
|
|
2 files changed, 3 insertions(+)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/wmi.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
|
|
@@ -884,6 +884,8 @@ int ath11k_wmi_vdev_start(struct ath11k
|
|
}
|
|
|
|
cmd->flags |= WMI_VDEV_START_LDPC_RX_ENABLED;
|
|
+ if (test_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ar->ab->dev_flags))
|
|
+ cmd->flags |= WMI_VDEV_START_HW_ENCRYPTION_DISABLED;
|
|
|
|
ptr = skb->data + sizeof(*cmd);
|
|
chan = ptr;
|
|
--- a/drivers/net/wireless/ath/ath11k/wmi.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/wmi.h
|
|
@@ -2577,6 +2577,7 @@ struct wmi_vdev_down_cmd {
|
|
#define WMI_VDEV_START_HIDDEN_SSID BIT(0)
|
|
#define WMI_VDEV_START_PMF_ENABLED BIT(1)
|
|
#define WMI_VDEV_START_LDPC_RX_ENABLED BIT(3)
|
|
+#define WMI_VDEV_START_HW_ENCRYPTION_DISABLED BIT(4)
|
|
|
|
struct wmi_ssid {
|
|
u32 ssid_len;
|