[][MAC80211][hostapd][Add EDCCA BW_160 support]
[Description]
Add EDCCA BW_160 support for mt7996
[Release-log]
Change-Id: Idd5e5aca55020e738ee8d1bb321c42a7be968f54
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7607610
diff --git a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
index e9d1726..e768500 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
@@ -1,19 +1,19 @@
-From e478ae5563a043f3d18be4bbbed682ac04e48d22 Mon Sep 17 00:00:00 2001
+From a19cc5fdbfb27400d24f3962ad2d134a3821a2cd Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Mon, 30 May 2022 15:04:57 +0800
-Subject: [PATCH 04/28] hostapd: mtk: Add mtk_vendor.h
+Subject: [PATCH 01/30] hostapd: mtk: Add mtk_vendor.h
---
- src/common/mtk_vendor.h | 195 ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 195 insertions(+)
+ src/common/mtk_vendor.h | 197 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 197 insertions(+)
create mode 100644 src/common/mtk_vendor.h
diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
new file mode 100644
-index 0000000..528387f
+index 0000000..4a19d2f
--- /dev/null
+++ b/src/common/mtk_vendor.h
-@@ -0,0 +1,195 @@
+@@ -0,0 +1,197 @@
+// SPDX-License-Identifier: ISC
+/* Copyright (C) 2020 Felix Fietkau <nbd@nbd.name> */
+#ifndef MTK_VENDOR_H
@@ -38,6 +38,7 @@
+ MTK_VENDOR_ATTR_EDCCA_CTRL_SEC40_VAL,
+ MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL,
+ MTK_VENDOR_ATTR_EDCCA_CTRL_COMPENSATE,
++ MTK_VENDOR_ATTR_EDCCA_CTRL_SEC160_VAL,
+
+ /* keep last */
+ NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL,
@@ -60,6 +61,7 @@
+ [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC40_VAL] = { .type = NLA_U8 },
+ [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL] = { .type = NLA_U8 },
+ [MTK_VENDOR_ATTR_EDCCA_CTRL_COMPENSATE] = { .type = NLA_U8 },
++ [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC160_VAL] = { .type = NLA_U8 },
+};
+
+enum mtk_vendor_attr_csi_ctrl {
diff --git a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
index 751ad04..46077c5 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
@@ -1,29 +1,29 @@
-From 15420724ea5d0aef0296e562c96be19262485575 Mon Sep 17 00:00:00 2001
+From ed079151f73c1a0acb6fe071434db64d3850a5e3 Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Mon, 30 May 2022 16:31:34 +0800
-Subject: [PATCH 05/28] hostapd: mtk: Support EDCCA hostapd configuration
+Subject: [PATCH 02/30] hostapd: mtk: Support EDCCA hostapd configuration
edcca_enable and edcca_compensation and implement edcca related handlers.
---
- hostapd/config_file.c | 32 ++++++
- hostapd/ctrl_iface.c | 125 ++++++++++++++++++++++
+ hostapd/config_file.c | 34 ++++++
+ hostapd/ctrl_iface.c | 125 +++++++++++++++++++++
src/ap/ap_config.c | 4 +
- src/ap/ap_config.h | 29 ++++++
+ src/ap/ap_config.h | 30 ++++++
src/ap/ap_drv_ops.c | 24 +++++
src/ap/ap_drv_ops.h | 4 +
src/ap/hostapd.c | 7 ++
- src/common/mtk_vendor.h | 19 ++--
+ src/common/mtk_vendor.h | 20 ++--
src/drivers/driver.h | 4 +
- src/drivers/driver_nl80211.c | 165 ++++++++++++++++++++++++++++++
+ src/drivers/driver_nl80211.c | 174 ++++++++++++++++++++++++++++++
src/drivers/driver_nl80211.h | 1 +
src/drivers/driver_nl80211_capa.c | 7 ++
- 12 files changed, 415 insertions(+), 6 deletions(-)
+ 12 files changed, 428 insertions(+), 6 deletions(-)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 11a3a1a..a48034b 100644
+index 11a3a1a..92a0ab7 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4799,6 +4799,38 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4799,6 +4799,40 @@ static int hostapd_config_fill(struct hostapd_config *conf,
}
conf->punct_acs_threshold = val;
#endif /* CONFIG_IEEE80211BE */
@@ -34,7 +34,9 @@
+ conf->edcca_threshold[1] < EDCCA_MIN_CONFIG_THRES ||
+ conf->edcca_threshold[1] > EDCCA_MAX_CONFIG_THRES ||
+ conf->edcca_threshold[2] < EDCCA_MIN_CONFIG_THRES ||
-+ conf->edcca_threshold[2] > EDCCA_MAX_CONFIG_THRES) {
++ conf->edcca_threshold[2] > EDCCA_MAX_CONFIG_THRES ||
++ conf->edcca_threshold[3] < EDCCA_MIN_CONFIG_THRES ||
++ conf->edcca_threshold[3] > EDCCA_MAX_CONFIG_THRES) {
+ wpa_printf(MSG_ERROR, "Line %d: invalid edcca threshold",
+ line);
+ return 1;
@@ -63,14 +65,14 @@
wpa_printf(MSG_ERROR,
"Line %d: unknown configuration item '%s'",
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index c4e344e..c5c0e91 100644
+index c4e344e..b132e54 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -599,6 +599,19 @@ static const char * pbc_status_str(enum pbc_status status)
}
-+static const char * edcca_mode_str(enum edcca_mode status)
++static const char *edcca_mode_str(enum edcca_mode status)
+{
+ switch (status) {
+ case EDCCA_MODE_FORCE_DISABLE:
@@ -101,7 +103,7 @@
+ return -1;
+ *pos++ = '\0';
+
-+ if(pos == NULL)
++ if (pos == NULL)
+ return -1;
+ value = pos;
+
@@ -131,12 +133,12 @@
+ return -1;
+ *thres_value++ = '\0';
+
-+ if(thres_value == NULL)
++ if (thres_value == NULL)
+ return -1;
-+ int bw_idx= atoi(value);
++ int bw_idx = atoi(value);
+ int threshold = atoi(thres_value);
+
-+ if (bw_idx < EDCCA_BW_20 || bw_idx > EDCCA_BW_80) {
++ if (bw_idx < EDCCA_BW_20 || bw_idx > EDCCA_BW_160) {
+ wpa_printf(MSG_ERROR,
+ "Unsupported Bandwidth idx %d for SET_EDCCA",
+ bw_idx);
@@ -186,8 +188,8 @@
+ if (hostapd_drv_get_edcca(hapd, EDCCA_CTRL_GET_THRES, &value) != 0)
+ return -1;
+ return os_snprintf(pos, end - pos,
-+ "Threshold BW20: 0x%x, BW40: 0x%x, BW80: 0x%x\n",
-+ value[0], value[1], value[2]);
++ "Threshold BW20: 0x%x, BW40: 0x%x, BW80: 0x%x, BW160: 0x%x\n",
++ value[0], value[1], value[2], value[3]);
+ } else {
+ wpa_printf(MSG_ERROR,
+ "Unsupported parameter %s for GET_EDCCA", cmd);
@@ -235,10 +237,10 @@
wpabuf_free(conf->civic);
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index af9bf92..22b1276 100644
+index af9bf92..acfe719 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
-@@ -1180,8 +1180,37 @@ struct hostapd_config {
+@@ -1180,8 +1180,38 @@ struct hostapd_config {
MBSSID_ENABLED = 1,
ENHANCED_MBSSID_ENABLED = 2,
} mbssid;
@@ -257,6 +259,7 @@
+ EDCCA_BW_20 = 0,
+ EDCCA_BW_40,
+ EDCCA_BW_80,
++ EDCCA_BW_160,
+ EDCCA_MAX_BW_NUM,
+};
+
@@ -342,10 +345,10 @@
iface->bss[0]->conf->iface);
if (iface->interfaces && iface->interfaces->terminate_on_error > 0)
diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
-index 528387f..7056126 100644
+index 4a19d2f..6121857 100644
--- a/src/common/mtk_vendor.h
+++ b/src/common/mtk_vendor.h
-@@ -29,14 +29,21 @@ enum mtk_vendor_attr_edcca_ctrl {
+@@ -30,14 +30,22 @@ enum mtk_vendor_attr_edcca_ctrl {
NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL - 1
};
@@ -362,6 +365,7 @@
+ MTK_VENDOR_ATTR_EDCCA_DUMP_PRI20_VAL,
+ MTK_VENDOR_ATTR_EDCCA_DUMP_SEC40_VAL,
+ MTK_VENDOR_ATTR_EDCCA_DUMP_SEC80_VAL,
++ MTK_VENDOR_ATTR_EDCCA_DUMP_SEC160_VAL,
+
+ /* keep last */
+ NUM_MTK_VENDOR_ATTRS_EDCCA_DUMP,
@@ -389,7 +393,7 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index d79929b..f5c95e1 100644
+index d79929b..72c50f2 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -37,6 +37,8 @@
@@ -401,7 +405,7 @@
#ifndef NETLINK_CAP_ACK
-@@ -13366,6 +13368,165 @@ static int testing_nl80211_radio_disable(void *priv, int disabled)
+@@ -13366,6 +13368,174 @@ static int testing_nl80211_radio_disable(void *priv, int disabled)
#endif /* CONFIG_TESTING_OPTIONS */
@@ -471,7 +475,8 @@
+ nla_put_u8(msg, MTK_VENDOR_ATTR_EDCCA_CTRL_MODE, EDCCA_CTRL_SET_THRES) ||
+ nla_put_u8(msg, MTK_VENDOR_ATTR_EDCCA_CTRL_PRI20_VAL, threshold[0] & 0xff) ||
+ nla_put_u8(msg, MTK_VENDOR_ATTR_EDCCA_CTRL_SEC40_VAL, threshold[1] & 0xff) ||
-+ nla_put_u8(msg, MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL, threshold[2] & 0xff)) {
++ nla_put_u8(msg, MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL, threshold[2] & 0xff) ||
++ nla_put_u8(msg, MTK_VENDOR_ATTR_EDCCA_CTRL_SEC160_VAL, threshold[3] & 0xff)) {
+ wpa_printf (MSG_ERROR, "Prepare nl80211 msg fail");
+ nlmsg_free(msg);
+ return -ENOBUFS;
@@ -488,7 +493,7 @@
+
+static int edcca_info_handler(struct nl_msg *msg, void *arg)
+{
-+ u8 *info = (u8*) arg;
++ u8 *info = (u8 *) arg;
+ struct nlattr *tb[NL80211_ATTR_MAX + 1];
+ struct nlattr *tb_vendor[MTK_VENDOR_ATTR_EDCCA_DUMP_MAX + 1];
+ struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
@@ -526,6 +531,14 @@
+ return NL_SKIP;
+ }
+
++ *info++ = nla_get_u8(attr);
++
++ attr = tb_vendor[MTK_VENDOR_ATTR_EDCCA_DUMP_SEC160_VAL];
++ if (!attr) {
++ wpa_printf(MSG_ERROR, "nl80211: MTK_VENDOR_ATTR_EDCCA_DUMP_SEC160_VAL");
++ return NL_SKIP;
++ }
++
+ *info = nla_get_u8(attr);
+ return NL_SKIP;
+}
@@ -567,7 +580,7 @@
const struct wpa_driver_ops wpa_driver_nl80211_ops = {
.name = "nl80211",
-@@ -13519,4 +13680,8 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+@@ -13519,4 +13689,8 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
.register_frame = testing_nl80211_register_frame,
.radio_disable = testing_nl80211_radio_disable,
#endif /* CONFIG_TESTING_OPTIONS */
@@ -606,7 +619,7 @@
#endif /* CONFIG_DRIVER_NL80211_BRCM */
+ } else if (vinfo->vendor_id == OUI_MTK) {
+ switch (vinfo->subcmd) {
-+ case MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL :
++ case MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL:
+ drv->mtk_edcca_vendor_cmd_avail = 1;
+ break;
+ }
diff --git a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
index 398e058..0d96fd2 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
@@ -1,7 +1,7 @@
-From 84d1dfb1adee1da3435b445e557396cc5318787d Mon Sep 17 00:00:00 2001
+From d0ce39f2142df00fbddff219bfe6fc6105d344cb Mon Sep 17 00:00:00 2001
From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Date: Fri, 2 Sep 2022 01:03:23 +0800
-Subject: [PATCH 07/28] hostapd: mtk: Add three wire PTA ctrl hostapd vendor
+Subject: [PATCH 04/30] hostapd: mtk: Add three wire PTA ctrl hostapd vendor
command
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -20,10 +20,10 @@
11 files changed, 93 insertions(+)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 12741f8..860beee 100644
+index 0b36123..f34b81b 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4840,6 +4840,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4842,6 +4842,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
return 1;
}
conf->edcca_compensation = (s8) val;
@@ -47,7 +47,7 @@
return conf;
}
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 2077c67..e784629 100644
+index 49dd8ab..1b6c049 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
@@ -1185,6 +1185,19 @@ struct hostapd_config {
@@ -115,7 +115,7 @@
wpa_printf(MSG_DEBUG, "%s: Setup of interface done.",
iface->bss[0]->conf->iface);
diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
-index ef8618e..ed47487 100644
+index 60bc4cd..99ecbaf 100644
--- a/src/common/mtk_vendor.h
+++ b/src/common/mtk_vendor.h
@@ -13,6 +13,7 @@ enum mtk_nl80211_vendor_subcmds {
@@ -126,8 +126,8 @@
};
enum mtk_vendor_attr_edcca_ctrl {
-@@ -55,6 +56,21 @@ static struct nla_policy edcca_ctrl_policy[NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL] = {
- [MTK_VENDOR_ATTR_EDCCA_CTRL_COMPENSATE] = { .type = NLA_U8 },
+@@ -58,6 +59,21 @@ static struct nla_policy edcca_ctrl_policy[NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL] = {
+ [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC160_VAL] = { .type = NLA_U8 },
};
+enum mtk_vendor_attr_3wire_ctrl {
@@ -168,10 +168,10 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index fc8422c..34bc9ac 100644
+index 5335754..1842b2d 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
-@@ -13635,6 +13635,38 @@ static int nl80211_get_edcca(void *priv, const u8 mode, u8 *value)
+@@ -13644,6 +13644,38 @@ static int nl80211_get_edcca(void *priv, const u8 mode, u8 *value)
return ret;
}
@@ -210,7 +210,7 @@
const struct wpa_driver_ops wpa_driver_nl80211_ops = {
.name = "nl80211",
-@@ -13794,4 +13826,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+@@ -13803,4 +13835,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
.configure_edcca_enable = nl80211_configure_edcca_enable,
.configure_edcca_threshold = nl80211_configure_edcca_threshold,
.get_edcca = nl80211_get_edcca,
diff --git a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0023-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0023-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
index 386ce8d..f865516 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0023-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd_new/patches/mtk-0023-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
@@ -1,22 +1,22 @@
-From 934c90729e00901fe6785727dc9004315725b587 Mon Sep 17 00:00:00 2001
+From bc29227028570c319e8458833f4fd6a9ee007fe9 Mon Sep 17 00:00:00 2001
From: Evelyn Tsai <evelyn.tsai@mediatek.com>
Date: Fri, 17 Mar 2023 16:17:14 +0800
-Subject: [PATCH 23/28] hostapd: mtk: Add vendor for CAPI certification
+Subject: [PATCH 01/11] hostapd: mtk: Add vendor for CAPI certification
commands
---
hostapd/ctrl_iface.c | 95 +++++++++++++++++++++++++++++++
src/ap/ap_drv_ops.c | 21 +++++++
src/ap/ap_drv_ops.h | 3 +
- src/common/mtk_vendor.h | 32 +----------
+ src/common/mtk_vendor.h | 33 +----------
src/drivers/driver.h | 22 +++++++
- src/drivers/driver_nl80211.c | 54 ++++++++++++++++++
+ src/drivers/driver_nl80211.c | 55 ++++++++++++++++++
src/drivers/driver_nl80211.h | 1 +
src/drivers/driver_nl80211_capa.c | 3 +
- 8 files changed, 201 insertions(+), 30 deletions(-)
+ 8 files changed, 202 insertions(+), 31 deletions(-)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index da6e727..79457d7 100644
+index 4c6e9c3..620729e 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -70,6 +70,7 @@
@@ -179,10 +179,10 @@
#include "drivers/driver.h"
diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
-index a99e6f2..32438af 100644
+index e27fe69..0b23c76 100644
--- a/src/common/mtk_vendor.h
+++ b/src/common/mtk_vendor.h
-@@ -48,16 +48,6 @@ enum mtk_vendor_attr_edcca_dump {
+@@ -50,17 +50,6 @@ enum mtk_vendor_attr_edcca_dump {
NUM_MTK_VENDOR_ATTRS_EDCCA_DUMP - 1
};
@@ -194,12 +194,13 @@
- [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC40_VAL] = { .type = NLA_U8 },
- [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL] = { .type = NLA_U8 },
- [MTK_VENDOR_ATTR_EDCCA_CTRL_COMPENSATE] = { .type = NLA_U8 },
+- [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC160_VAL] = { .type = NLA_U8 },
-};
-
enum mtk_vendor_attr_3wire_ctrl {
MTK_VENDOR_ATTR_3WIRE_CTRL_UNSPEC,
-@@ -69,10 +59,6 @@ enum mtk_vendor_attr_3wire_ctrl {
+@@ -72,10 +61,6 @@ enum mtk_vendor_attr_3wire_ctrl {
NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL - 1
};
@@ -210,7 +211,7 @@
enum mtk_vendor_attr_csi_ctrl {
MTK_VENDOR_ATTR_CSI_CTRL_UNSPEC,
-@@ -169,7 +155,7 @@ enum mtk_vendor_attr_wireless_ctrl {
+@@ -172,7 +157,7 @@ enum mtk_vendor_attr_wireless_ctrl {
MTK_VENDOR_ATTR_WIRELESS_CTRL_BA_BUFFER_SIZE,
MTK_VENDOR_ATTR_WIRELESS_CTRL_MIMO,
MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU,
@@ -219,7 +220,7 @@
MTK_VENDOR_ATTR_WIRELESS_CTRL_RTS_SIGTA,
/* keep last */
-@@ -189,11 +175,6 @@ enum mtk_vendor_attr_wireless_dump {
+@@ -192,11 +177,6 @@ enum mtk_vendor_attr_wireless_dump {
NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP - 1
};
@@ -231,7 +232,7 @@
enum mtk_vendor_attr_rfeature_ctrl {
MTK_VENDOR_ATTR_RFEATURE_CTRL_UNSPEC,
-@@ -203,6 +184,7 @@ enum mtk_vendor_attr_rfeature_ctrl {
+@@ -206,6 +186,7 @@ enum mtk_vendor_attr_rfeature_ctrl {
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE_EN,
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE,
MTK_VENDOR_ATTR_RFEATURE_CTRL_ACK_PLCY,
@@ -239,7 +240,7 @@
/* keep last */
NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL,
-@@ -244,16 +226,6 @@ enum mtk_vendor_attr_ibf_dump {
+@@ -247,16 +228,6 @@ enum mtk_vendor_attr_ibf_dump {
NUM_MTK_VENDOR_ATTRS_IBF_DUMP - 1
};
@@ -290,10 +291,10 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 18a5647..730a696 100644
+index 7081fd1..493abc4 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
-@@ -76,6 +76,57 @@ enum nlmsgerr_attrs {
+@@ -76,6 +76,58 @@ enum nlmsgerr_attrs {
#endif /* ANDROID */
@@ -318,6 +319,7 @@
+ [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC40_VAL] = { .type = NLA_U8 },
+ [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL] = { .type = NLA_U8 },
+ [MTK_VENDOR_ATTR_EDCCA_CTRL_COMPENSATE] = { .type = NLA_U8 },
++ [MTK_VENDOR_ATTR_EDCCA_CTRL_SEC160_VAL] = { .type = NLA_U8 },
+};
+
+static const struct nla_policy
@@ -351,7 +353,7 @@
static struct nl_sock * nl_create_handle(struct nl_cb *cb, const char *dbg)
{
struct nl_sock *handle;
-@@ -14246,4 +14297,7 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+@@ -14255,4 +14307,7 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
.amsdu_ctrl = nl80211_enable_amsdu,
.amsdu_dump = nl80211_dump_amsdu,
.get_aval_color_bmp = nl80211_get_aval_color_bmp,