[rdk-b][common][bsp][Refactor and sync kernel/wifi from Openwrt]
[Description]
Refactor and sync kernel/wifi from Openwrt
[Release-log]
N/A
diff --git a/recipes-wifi/hostapd/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch b/recipes-wifi/hostapd/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
index ce6d8a2..e8e8b8c 100644
--- a/recipes-wifi/hostapd/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
+++ b/recipes-wifi/hostapd/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
@@ -1,7 +1,7 @@
-From ad6a0480d6e495796ac74b8ec53bcc2e85534caf Mon Sep 17 00:00:00 2001
+From 194a2405c98852358de25d96cb9d1c7c56ea4bdc Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 19:18:07 +0800
-Subject: [PATCH 99900/99916] Add hostapd_neighbor_count() and
+Subject: [PATCH 99900/99917] Add hostapd_neighbor_count() and
hostapd_neighbor_insert_buffer ()
The first function can count the number of neighbor report in neighbore report
@@ -13,7 +13,7 @@
2 files changed, 35 insertions(+)
diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index 52f25eb7a..c12139067 100644
+index 52f25eb..c121390 100644
--- a/src/ap/neighbor_db.c
+++ b/src/ap/neighbor_db.c
@@ -89,6 +89,38 @@ int hostapd_neighbor_show(struct hostapd_data *hapd, char *buf, size_t buflen)
@@ -56,7 +56,7 @@
{
wpabuf_free(nr->nr);
diff --git a/src/ap/neighbor_db.h b/src/ap/neighbor_db.h
-index 992671b62..1ae194d98 100644
+index 992671b..1ae194d 100644
--- a/src/ap/neighbor_db.h
+++ b/src/ap/neighbor_db.h
@@ -24,4 +24,7 @@ int hostapd_neighbor_remove(struct hostapd_data *hapd, const u8 *bssid,
@@ -68,5 +68,5 @@
+ size_t buflen);
#endif /* NEIGHBOR_DB_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch b/recipes-wifi/hostapd/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
index d908add..752584b 100644
--- a/recipes-wifi/hostapd/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
+++ b/recipes-wifi/hostapd/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
@@ -1,7 +1,7 @@
-From 5773e6a27eb2d2028972fb0ab1206faf6a117d17 Mon Sep 17 00:00:00 2001
+From 0a4f464da1089e59eb5155b5479ceff785697881 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 19:25:05 +0800
-Subject: [PATCH 99901/99916] Support including neighbor report elements in
+Subject: [PATCH 99901/99917] Support including neighbor report elements in
ANQP response
---
@@ -10,7 +10,7 @@
2 files changed, 31 insertions(+)
diff --git a/src/ap/gas_serv.c b/src/ap/gas_serv.c
-index 90f15778b..5845ff857 100644
+index 90f1577..5845ff8 100644
--- a/src/ap/gas_serv.c
+++ b/src/ap/gas_serv.c
@@ -19,6 +19,7 @@
@@ -78,7 +78,7 @@
#ifdef CONFIG_FILS
if (info_id == ANQP_FILS_REALM_INFO &&
diff --git a/src/ap/gas_serv.h b/src/ap/gas_serv.h
-index 1528af4af..d0241f23c 100644
+index 1528af4..d0241f2 100644
--- a/src/ap/gas_serv.h
+++ b/src/ap/gas_serv.h
@@ -40,6 +40,8 @@
@@ -91,5 +91,5 @@
* First 15 Hotspot 2.0 vendor specific ANQP-elements can be included in the
* optimized bitmap.
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch b/recipes-wifi/hostapd/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
index cc10887..99bea80 100644
--- a/recipes-wifi/hostapd/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
+++ b/recipes-wifi/hostapd/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
@@ -1,7 +1,7 @@
-From dc41ee6abddd05f25cba50126afe7890b890dfbc Mon Sep 17 00:00:00 2001
+From d283e4c84ece2f6b6dc21889b6b326ea3de11545 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 19:49:09 +0800
-Subject: [PATCH 99902/99916] Support including neignbor report elements in BTM
+Subject: [PATCH 99902/99917] Support including neignbor report elements in BTM
response
---
@@ -9,7 +9,7 @@
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c
-index 3ea92af2d..532d9dbe6 100644
+index 3ea92af..532d9db 100644
--- a/src/ap/wnm_ap.c
+++ b/src/ap/wnm_ap.c
@@ -20,6 +20,7 @@
@@ -64,5 +64,5 @@
wpa_printf(MSG_DEBUG, "WNM: Send BSS Transition Management Request to "
MACSTR " dialog_token=%u req_mode=0x%x disassoc_timer=%u "
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch b/recipes-wifi/hostapd/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
index 5370298..cac4092 100644
--- a/recipes-wifi/hostapd/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
+++ b/recipes-wifi/hostapd/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
@@ -1,7 +1,7 @@
-From e3453cf75d1d9067e97b6d0d370afb3805eccea7 Mon Sep 17 00:00:00 2001
+From de13e08cb3e1210bfed2de824c6a19e8dbed057e Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 19:56:18 +0800
-Subject: [PATCH 99903/99916] Support configuring BSS Termination TSF by using
+Subject: [PATCH 99903/99917] Support configuring BSS Termination TSF by using
hostapd_cli command
---
@@ -12,7 +12,7 @@
4 files changed, 11 insertions(+)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index a2584920c..c2a282227 100644
+index a258492..c2a2822 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -1338,6 +1338,11 @@ static int hostapd_ctrl_iface_set(struct hostapd_data *hapd, char *cmd)
@@ -28,7 +28,7 @@
ret = hostapd_set_iface(hapd->iconf, hapd->conf, cmd, value);
if (ret)
diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
-index d7a0c7c80..4a20eb4e1 100644
+index d7a0c7c..4a20eb4 100644
--- a/src/ap/ap_config.c
+++ b/src/ap/ap_config.c
@@ -170,6 +170,7 @@ void hostapd_config_defaults_bss(struct hostapd_bss_config *bss)
@@ -40,7 +40,7 @@
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index ed3bec7fe..3f68e76d5 100644
+index ed3bec7..3f68e76 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
@@ -557,6 +557,7 @@ struct hostapd_bss_config {
@@ -52,7 +52,7 @@
/* IEEE 802.11u - Interworking */
int interworking;
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 96209ce7e..46a860905 100644
+index 96209ce..46a8609 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1203,6 +1203,10 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -67,5 +67,5 @@
WPA_PUT_LE16(&bss_term_dur[10], atoi(end));
}
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch b/recipes-wifi/hostapd/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
index f147d68..7334217 100644
--- a/recipes-wifi/hostapd/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
+++ b/recipes-wifi/hostapd/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
@@ -1,14 +1,14 @@
-From 17c48cab4058c5183f3fedc1bfbd6877a706e003 Mon Sep 17 00:00:00 2001
+From cdd0a088a13000d67a5bd821a609546f8b79c7e0 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 21:03:38 +0800
-Subject: [PATCH 99904/99916] Disable interface if BSS Termination TSF is set
+Subject: [PATCH 99904/99917] Disable interface if BSS Termination TSF is set
---
src/ap/wnm_ap.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c
-index 532d9dbe6..f6761aba3 100644
+index 532d9db..f6761ab 100644
--- a/src/ap/wnm_ap.c
+++ b/src/ap/wnm_ap.c
@@ -780,6 +780,22 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
@@ -43,5 +43,5 @@
if (url) {
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch b/recipes-wifi/hostapd/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
index c967ebf..83d9814 100644
--- a/recipes-wifi/hostapd/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
+++ b/recipes-wifi/hostapd/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
@@ -1,7 +1,7 @@
-From 1538a92c53326c958133d5859c8dff0d56050c68 Mon Sep 17 00:00:00 2001
+From bd1816cb396a071cc5ae2fe13992362fcbf45fe9 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 21:15:07 +0800
-Subject: [PATCH 99905/99916] Add set_send_disassoc_frame_timer() to send
+Subject: [PATCH 99905/99917] Add set_send_disassoc_frame_timer() to send
disassociate frame
Function set_disassoc_timer() may fail if key was deleted first. This new
@@ -11,7 +11,7 @@
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c
-index f6761aba3..4349e1df2 100644
+index f6761ab..4349e1d 100644
--- a/src/ap/wnm_ap.c
+++ b/src/ap/wnm_ap.c
@@ -780,6 +780,34 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
@@ -59,5 +59,5 @@
return 0;
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch b/recipes-wifi/hostapd/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
index c88f3e5..174d8a9 100644
--- a/recipes-wifi/hostapd/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
+++ b/recipes-wifi/hostapd/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
@@ -1,7 +1,7 @@
-From 8b4c91eee579bb232b7a921abbfe07f3630d73b9 Mon Sep 17 00:00:00 2001
+From 99665874b76ccacd85e56ea8767ebb0b8d4b3b1e Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 19:58:57 +0800
-Subject: [PATCH 99906/99916] Support including neighbor report elements in BTM
+Subject: [PATCH 99906/99917] Support including neighbor report elements in BTM
request
---
@@ -9,7 +9,7 @@
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 46a860905..1cbec537a 100644
+index 46a8609..1cbec53 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1233,8 +1233,13 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -28,5 +28,5 @@
req_mode |= WNM_BSS_TM_REQ_ABRIDGED;
if (os_strstr(cmd, " disassoc_imminent=1"))
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch b/recipes-wifi/hostapd/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
index 37ff1ac..63658c9 100644
--- a/recipes-wifi/hostapd/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
+++ b/recipes-wifi/hostapd/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
@@ -1,7 +1,7 @@
-From 9af8c262f5405028d704a3b7f93c4fcb7ed5f7b4 Mon Sep 17 00:00:00 2001
+From bc2244e766d863c35369cc1641b058d062681abe Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 20:00:49 +0800
-Subject: [PATCH 99907/99916] Add hostapd_neighbor_set_own_report_pref()
+Subject: [PATCH 99907/99917] Add hostapd_neighbor_set_own_report_pref()
---
src/ap/ctrl_iface_ap.c | 6 +++++-
@@ -10,7 +10,7 @@
3 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 1cbec537a..274b43587 100644
+index 1cbec53..274b435 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1242,8 +1242,12 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -28,7 +28,7 @@
#ifdef CONFIG_MBO
pos = os_strstr(cmd, "mbo=");
diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index c12139067..134ed4a71 100644
+index c121390..134ed4a 100644
--- a/src/ap/neighbor_db.c
+++ b/src/ap/neighbor_db.c
@@ -357,3 +357,39 @@ void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)
@@ -72,7 +72,7 @@
+ }
+}
diff --git a/src/ap/neighbor_db.h b/src/ap/neighbor_db.h
-index 1ae194d98..2e16f7268 100644
+index 1ae194d..2e16f72 100644
--- a/src/ap/neighbor_db.h
+++ b/src/ap/neighbor_db.h
@@ -27,4 +27,6 @@ void hostapd_free_neighbor_db(struct hostapd_data *hapd);
@@ -83,5 +83,5 @@
+ size_t buflen, const int pref);
#endif /* NEIGHBOR_DB_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch b/recipes-wifi/hostapd/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
index 563588e..8d23b84 100644
--- a/recipes-wifi/hostapd/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
+++ b/recipes-wifi/hostapd/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
@@ -1,7 +1,7 @@
-From 21c1940ecfd6d9404097868ad4a59a0d6a54ea69 Mon Sep 17 00:00:00 2001
+From 952404e8327c98817a2d975b5595ca5d9a15e739 Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 20:02:06 +0800
-Subject: [PATCH 99908/99916] Add hostapd_neighbor_set_pref_by_non_pref_chan()
+Subject: [PATCH 99908/99917] Add hostapd_neighbor_set_pref_by_non_pref_chan()
---
src/ap/ctrl_iface_ap.c | 2 ++
@@ -10,7 +10,7 @@
3 files changed, 57 insertions(+)
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 274b43587..18bae5c8b 100644
+index 274b435..18bae5c 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1250,6 +1250,8 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -23,7 +23,7 @@
if (pos) {
unsigned int mbo_reason, cell_pref, reassoc_delay;
diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index 134ed4a71..9254d09fd 100644
+index 134ed4a..9254d09 100644
--- a/src/ap/neighbor_db.c
+++ b/src/ap/neighbor_db.c
@@ -393,3 +393,54 @@ void hostapd_neighbor_set_own_report_pref(struct hostapd_data *hapd, char *nei_b
@@ -82,7 +82,7 @@
+}
+#endif
diff --git a/src/ap/neighbor_db.h b/src/ap/neighbor_db.h
-index 2e16f7268..a1ddc075b 100644
+index 2e16f72..a1ddc07 100644
--- a/src/ap/neighbor_db.h
+++ b/src/ap/neighbor_db.h
@@ -29,4 +29,8 @@ int hostapd_neighbor_insert_buffer(struct hostapd_data *hapd, char *buf,
@@ -95,5 +95,5 @@
+#endif
#endif /* NEIGHBOR_DB_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch b/recipes-wifi/hostapd/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
index 58b47fa..12e0e36 100644
--- a/recipes-wifi/hostapd/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
+++ b/recipes-wifi/hostapd/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
@@ -1,14 +1,14 @@
-From 0818f9258d0491387103ef7b98b8dbbd1ada12ec Mon Sep 17 00:00:00 2001
+From b7a74dbae4ff2bdbc5c84d0299bc18020fe86d13 Mon Sep 17 00:00:00 2001
From: Shayne Chen <shayne.chen@mediatek.com>
Date: Tue, 20 Sep 2022 19:33:45 +0800
-Subject: [PATCH 99909/99916] print sae groups by hostapd ctrl
+Subject: [PATCH 99909/99917] print sae groups by hostapd ctrl
---
hostapd/ctrl_iface.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index c2a282227..bc690c526 100644
+index c2a2822..bc690c5 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -1412,6 +1412,19 @@ static int hostapd_ctrl_iface_get(struct hostapd_data *hapd, char *cmd,
@@ -32,5 +32,5 @@
return -1;
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch b/recipes-wifi/hostapd/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
index b404963..2af1d8e 100644
--- a/recipes-wifi/hostapd/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
+++ b/recipes-wifi/hostapd/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
@@ -1,7 +1,7 @@
-From cff3f584e921ce37fcd72a895666abc9227d16fd Mon Sep 17 00:00:00 2001
+From 7a7b2284ad75cd20c788dad6e253bc2940203ff9 Mon Sep 17 00:00:00 2001
From: MeiChia Chiu <meichia.chiu@mediatek.com>
Date: Tue, 31 May 2022 21:15:54 +0800
-Subject: [PATCH 99910/99916] hostapd: add support for runtime set in-band
+Subject: [PATCH 99910/99917] hostapd: add support for runtime set in-band
discovery
Usage:
@@ -21,7 +21,7 @@
5 files changed, 98 insertions(+), 4 deletions(-)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index bc690c526..bb8c74fd3 100644
+index bc690c5..bb8c74f 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -826,6 +826,69 @@ static int hostapd_ctrl_iface_send_qos_map_conf(struct hostapd_data *hapd,
@@ -105,7 +105,7 @@
reply_len = hostapd_ctrl_iface_get_config(hapd, reply,
reply_size);
diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
-index 85c41d0c3..db2125805 100644
+index 85c41d0..db21258 100644
--- a/hostapd/hostapd_cli.c
+++ b/hostapd/hostapd_cli.c
@@ -642,6 +642,24 @@ static int hostapd_cli_cmd_wps_config(struct wpa_ctrl *ctrl, int argc,
@@ -143,7 +143,7 @@
};
diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index 814e86efe..1a26f11ff 100644
+index 814e86e..1a26f11 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -1497,6 +1497,8 @@ static u8 * hostapd_fils_discovery(struct hostapd_data *hapd,
@@ -166,7 +166,7 @@
¶ms->fd_frame_tmpl_len);
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 53f25030a..5eba0ea1b 100644
+index 53f2503..5eba0ea 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -4498,9 +4498,10 @@ static int nl80211_fils_discovery(struct i802_bss *bss, struct nl_msg *msg,
@@ -195,7 +195,7 @@
#endif /* CONFIG_FILS */
diff --git a/src/drivers/nl80211_copy.h b/src/drivers/nl80211_copy.h
-index 0568a7909..c4bf3ad35 100644
+index 0568a79..c4bf3ad 100644
--- a/src/drivers/nl80211_copy.h
+++ b/src/drivers/nl80211_copy.h
@@ -7379,6 +7379,7 @@ enum nl80211_fils_discovery_attributes {
@@ -207,5 +207,5 @@
/* keep last */
__NL80211_FILS_DISCOVERY_ATTR_LAST,
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch b/recipes-wifi/hostapd/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
index e2a4cb2..ff4d232 100644
--- a/recipes-wifi/hostapd/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
+++ b/recipes-wifi/hostapd/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
@@ -1,7 +1,7 @@
-From 653bfcdadce50131c3c394b33acd94b110186744 Mon Sep 17 00:00:00 2001
+From f5ba1e7e33d0736602957f8131540202cec1c7ad 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 99911/99916] Add mtk_vendor.h
+Subject: [PATCH 99911/99917] Add mtk_vendor.h
---
src/common/mtk_vendor.h | 195 ++++++++++++++++++++++++++++++++++++++++
@@ -10,7 +10,7 @@
diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
new file mode 100644
-index 000000000..528387fa5
+index 0000000..528387f
--- /dev/null
+++ b/src/common/mtk_vendor.h
@@ -0,0 +1,195 @@
@@ -210,5 +210,5 @@
+};
+#endif /* MTK_VENDOR_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch b/recipes-wifi/hostapd/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
index be526be..e1161f8 100644
--- a/recipes-wifi/hostapd/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
+++ b/recipes-wifi/hostapd/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
@@ -1,8 +1,8 @@
-From 17051f7a8b2193e24556e357f3f1665d67a79330 Mon Sep 17 00:00:00 2001
+From 27645d8206ad1a0276f05faa175f2ed4ffb8202e 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] Support new hostapd configuration, edcca_enable and
- edcca_compensation and implement edcca related handlers.
+Subject: [PATCH 99912/99917] Support new hostapd configuration, edcca_enable
+ and edcca_compensation and implement edcca related handlers.
---
hostapd/config_file.c | 32 ++++++
@@ -615,5 +615,5 @@
wpa_printf(MSG_DEBUG, "nl80211: Supported vendor command: vendor_id=0x%x subcmd=%u",
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch b/recipes-wifi/hostapd/files/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
similarity index 98%
rename from recipes-wifi/hostapd/files/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
rename to recipes-wifi/hostapd/files/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
index 054dd47..572cdd1 100644
--- a/recipes-wifi/hostapd/files/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
+++ b/recipes-wifi/hostapd/files/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
@@ -1,7 +1,7 @@
-From d5c58b339c448a6d1d476205b68d434d7bf8e472 Mon Sep 17 00:00:00 2001
+From fe664c759cb79e130d35f6dd0236e9cb33320f70 Mon Sep 17 00:00:00 2001
From: TomLiu <tomml.liu@mediatek.com>
Date: Tue, 9 Aug 2022 10:23:44 -0700
-Subject: [PATCH 1/6] Add hostapd HEMU SET/GET control
+Subject: [PATCH 99913/99917] Add hostapd HEMU SET/GET control
---
hostapd/config_file.c | 9 +++
@@ -20,10 +20,10 @@
13 files changed, 251 insertions(+)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index c99e76d..afe0f0c 100644
+index 0ee8952..b22d10b 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -3698,6 +3698,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -3659,6 +3659,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
return 1;
}
bss->unsol_bcast_probe_resp_interval = val;
@@ -292,7 +292,7 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 5fe1d33..ef0ca18 100644
+index 9c2782c..73dee2e 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -12304,6 +12304,114 @@ fail:
@@ -446,5 +446,5 @@
}
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch b/recipes-wifi/hostapd/files/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
similarity index 96%
rename from recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
rename to recipes-wifi/hostapd/files/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
index c853b08..ca64eb8 100644
--- a/recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
+++ b/recipes-wifi/hostapd/files/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
@@ -1,7 +1,7 @@
-From f080902be233f0c28d205f62f737edabdb6b6aaa Mon Sep 17 00:00:00 2001
+From 4707ed85884be2ffe7860e28de80df5a6e479824 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 2/6] Add three wire PTA ctrl hostapd vendor command
+Subject: [PATCH 99914/99917] Add three wire PTA ctrl hostapd vendor command
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
---
@@ -19,10 +19,10 @@
11 files changed, 93 insertions(+)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index afe0f0c..a4875ee 100644
+index b22d10b..18b372a 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4836,6 +4836,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4794,6 +4794,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
return 1;
}
conf->edcca_compensation = (s8) val;
@@ -167,7 +167,7 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index ef0ca18..ec7b174 100644
+index 73dee2e..2bb8cc2 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -12637,6 +12637,38 @@ static int nl80211_get_edcca(void *priv, const u8 mode, u8 *value)
@@ -242,5 +242,5 @@
}
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch b/recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
similarity index 98%
rename from recipes-wifi/hostapd/files/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch
rename to recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
index eadaa63..a50cb9e 100644
--- a/recipes-wifi/hostapd/files/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch
+++ b/recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
@@ -1,7 +1,7 @@
-From 1632fa308f5269dab803f94389026ae57d99375d Mon Sep 17 00:00:00 2001
+From e177f5069ff7e8f024676cf9d0e4af135cfea95b Mon Sep 17 00:00:00 2001
From: mtk27835 <shurong.wen@mediatek.com>
Date: Wed, 7 Sep 2022 14:41:51 -0700
-Subject: [PATCH 3/6] Add hostapd iBF control
+Subject: [PATCH 99915/99917] Add hostapd iBF control
Signed-off-by: mtk27835 <shurong.wen@mediatek.com>
---
@@ -21,10 +21,10 @@
13 files changed, 224 insertions(+), 1 deletion(-)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index a4875ee..6b3b88d 100644
+index 18b372a..d9d882c 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4840,6 +4840,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4798,6 +4798,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
u8 en = atoi(pos);
conf->three_wire_enable = en;
@@ -277,7 +277,7 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index ec7b174..00f9231 100644
+index 2bb8cc2..e974f85 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -12670,6 +12670,112 @@ static int nl80211_enable_three_wire(void *priv, const u8 three_wire_enable)
@@ -427,5 +427,5 @@
}
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch b/recipes-wifi/hostapd/files/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
similarity index 85%
rename from recipes-wifi/hostapd/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
rename to recipes-wifi/hostapd/files/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
index 6544088..b1769a1 100644
--- a/recipes-wifi/hostapd/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
+++ b/recipes-wifi/hostapd/files/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
@@ -1,7 +1,7 @@
-From 52e2b550382387c45083982a900a9d6132710255 Mon Sep 17 00:00:00 2001
+From dbd8120e47621784647deb776bf4b4d0a97fb49e Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 22 Sep 2022 16:08:09 +0800
-Subject: [PATCH 99918/99920] Do not include HE capab IE if associated sta's HE
+Subject: [PATCH 99916/99917] Do not include HE capab IE if associated sta's HE
capab IE is invalid
---
@@ -23,5 +23,5 @@
p = hostapd_eid_he_operation(hapd, p);
p = hostapd_eid_cca(hapd, p);
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch b/recipes-wifi/hostapd/files/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
similarity index 89%
rename from recipes-wifi/hostapd/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
rename to recipes-wifi/hostapd/files/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
index 4315be0..83eac6e 100644
--- a/recipes-wifi/hostapd/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
+++ b/recipes-wifi/hostapd/files/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
@@ -1,7 +1,7 @@
-From 5fd8ba4e856b94c8753a468b9e8a7dbece63cfec Mon Sep 17 00:00:00 2001
+From 80ecd3e0398aa668e683ff582a0594f88b290f44 Mon Sep 17 00:00:00 2001
From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Date: Fri, 7 Oct 2022 10:46:29 +0800
-Subject: [PATCH] Add DFS and ZWDFS support
+Subject: [PATCH 99917/99917] Add DFS and ZWDFS support
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
---
@@ -17,13 +17,13 @@
9 files changed, 186 insertions(+), 17 deletions(-)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 310f97d..a2ee418 100644
+index d9d882c..fd61448 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4807,6 +4807,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
- return 1;
- }
- conf->amsdu = val;
+@@ -4801,6 +4801,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+ } else if (os_strcmp(buf, "ibf_enable") == 0) { /*ibf setting is per device*/
+ int val = atoi(pos);
+ conf->ibf_enable = !!val;
+ } else if (os_strcmp(buf, "dfs_detect_mode") == 0) { /*bypass channel switch*/
+ u8 en = strtol(pos, NULL, 10);
+
@@ -32,10 +32,10 @@
wpa_printf(MSG_ERROR,
"Line %d: unknown configuration item '%s'",
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 0c40175..296e42f 100644
+index c881d37..6ea1573 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
-@@ -3537,6 +3537,96 @@ hostapd_ctrl_iface_get_aggregation(struct hostapd_data *hapd, char *buf,
+@@ -3522,6 +3522,96 @@ hostapd_ctrl_iface_get_ibf(struct hostapd_data *hapd, char *buf,
}
@@ -132,10 +132,10 @@
static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
char *buf, char *reply,
int reply_size,
-@@ -4099,6 +4189,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4081,6 +4171,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+ reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
+ } else if (os_strncmp(buf, "GET_IBF", 7) == 0) {
reply_len = hostapd_ctrl_iface_get_ibf(hapd, reply, reply_size);
- } else if (os_strncmp(buf, "GET_AGGR", 8) == 0) {
- reply_len = hostapd_ctrl_iface_get_aggregation(hapd, reply, reply_size);
+ } else if (os_strncmp(buf, "DFS_DETECT_MODE ", 16) == 0) {
+ reply_len = hostapd_ctrl_iface_set_dfs_detect_mode(hapd, buf + 16,
+ reply, reply_size);
@@ -145,18 +145,18 @@
os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
reply_len = 16;
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 01b051d..f567c37 100644
+index 44a0e7e..3f5afdf 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
-@@ -1160,6 +1160,7 @@ struct hostapd_config {
+@@ -1159,6 +1159,7 @@ struct hostapd_config {
+ int *edcca_threshold;
+ u8 three_wire_enable;
u8 ibf_enable;
- u8 ampdu;
- u8 amsdu;
+ u8 dfs_detect_mode;
};
enum three_wire_mode {
-@@ -1174,6 +1175,18 @@ enum three_wire_mode {
+@@ -1173,6 +1174,18 @@ enum three_wire_mode {
NUM_THREE_WIRE_MODE - 1
};
@@ -282,7 +282,7 @@
#endif /* DFS_H */
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index 5fc998e..ed1dfdb 100644
+index e44b73d..793ce2f 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -1463,7 +1463,9 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
@@ -297,13 +297,13 @@
if (flush_old_stations && !conf->start_disabled &&
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index e34903b..6ad6d84 100644
+index 71ded61..aa23fbd 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
-@@ -4722,6 +4722,13 @@ struct wpa_driver_ops {
- int (*ampdu_ctrl)(void *priv, u8 ampdu);
- int (*amsdu_ctrl)(void *priv, u8 amsdu);
- int (*aggregation_dump)(void *priv, u8 *aggr);
+@@ -4720,6 +4720,13 @@ struct wpa_driver_ops {
+ *
+ */
+ int (*ibf_dump)(void *priv, u8 *ibf_enable);
+
+ /**
+ * start_disabled - set start_disabled to cfg80211
@@ -315,10 +315,10 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index a06ac58..af064c0 100644
+index e974f85..003adc4 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
-@@ -12812,6 +12812,34 @@ fail:
+@@ -12776,6 +12776,34 @@ fail:
return -ENOBUFS;
}
@@ -353,10 +353,10 @@
const struct wpa_driver_ops wpa_driver_nl80211_ops = {
.name = "nl80211",
.desc = "Linux nl80211/cfg80211",
-@@ -12967,4 +12995,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .ampdu_ctrl = nl80211_enable_ampdu,
- .amsdu_ctrl = nl80211_enable_amsdu,
- .aggregation_dump = nl80211_dump_aggregation,
+@@ -12930,4 +12958,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+ .three_wire_ctrl = nl80211_enable_three_wire,
+ .ibf_ctrl = nl80211_ibf_enable,
+ .ibf_dump = nl80211_ibf_dump,
+ .start_disabled = nl80211_start_disabled,
};
diff --git a/src/drivers/nl80211_copy.h b/src/drivers/nl80211_copy.h
@@ -372,5 +372,5 @@
__NL80211_ATTR_AFTER_LAST,
NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch b/recipes-wifi/hostapd/files/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch
deleted file mode 100644
index 796dc3f..0000000
--- a/recipes-wifi/hostapd/files/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch
+++ /dev/null
@@ -1,482 +0,0 @@
-From 32816f9bf56aeff95ddfe4a735028bee0d552f4d Mon Sep 17 00:00:00 2001
-From: TomLiu <tomml.liu@mediatek.com>
-Date: Wed, 21 Sep 2022 15:14:11 -0700
-Subject: [PATCH 4/6] add hostapd AMPDU and AMSDU control command
-
----
- hostapd/config_file.c | 18 ++++
- hostapd/ctrl_iface.c | 44 ++++++++
- hostapd/hostapd_cli.c | 9 ++
- src/ap/ap_config.c | 2 +
- src/ap/ap_config.h | 2 +
- src/ap/ap_drv_ops.c | 23 ++++-
- src/ap/ap_drv_ops.h | 3 +
- src/ap/hostapd.c | 4 +
- src/common/mtk_vendor.h | 18 ++++
- src/drivers/driver.h | 11 ++
- src/drivers/driver_nl80211.c | 160 ++++++++++++++++++++++++++++++
- src/drivers/driver_nl80211.h | 1 +
- src/drivers/driver_nl80211_capa.c | 3 +
- 13 files changed, 297 insertions(+), 1 deletion(-)
-
-diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 6b3b88d..9660543 100644
---- a/hostapd/config_file.c
-+++ b/hostapd/config_file.c
-@@ -4843,6 +4843,24 @@ static int hostapd_config_fill(struct hostapd_config *conf,
- } else if (os_strcmp(buf, "ibf_enable") == 0) { /*ibf setting is per device*/
- int val = atoi(pos);
- conf->ibf_enable = !!val;
-+ } else if (os_strcmp(buf, "ampdu") == 0) {
-+ int val = atoi(pos);
-+ if (val < 0 || val > 1) {
-+ wpa_printf(MSG_ERROR,
-+ "Line %d: invalid ampdu value",
-+ line);
-+ return 1;
-+ }
-+ conf->ampdu = val;
-+ } else if (os_strcmp(buf, "amsdu") == 0) {
-+ int val = atoi(pos);
-+ if (val < 0 || val > 1) {
-+ wpa_printf(MSG_ERROR,
-+ "Line %d: invalid amsdu value",
-+ line);
-+ return 1;
-+ }
-+ conf->amsdu = val;
- } else {
- wpa_printf(MSG_ERROR,
- "Line %d: unknown configuration item '%s'",
-diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index c881d37..e51488e 100644
---- a/hostapd/ctrl_iface.c
-+++ b/hostapd/ctrl_iface.c
-@@ -3522,6 +3522,48 @@ hostapd_ctrl_iface_get_ibf(struct hostapd_data *hapd, char *buf,
- }
-
-
-+static int
-+hostapd_ctrl_iface_get_aggregation(struct hostapd_data *hapd, char *buf,
-+ size_t buflen)
-+{
-+ u8 aggr;
-+ int ret;
-+ char *pos, *end;
-+
-+ pos = buf;
-+ end = buf + buflen;
-+
-+ if (hostapd_drv_aggregation_dump(hapd, &aggr) == 0) {
-+ if (aggr == 0) {
-+ hapd->iconf->ampdu = 0;
-+ hapd->iconf->amsdu = 0;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU disabled\n",
-+ hapd->iconf->ampdu);
-+ } else if (aggr == 1) {
-+ hapd->iconf->ampdu = 0;
-+ hapd->iconf->amsdu = 1;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU disabled\n",
-+ hapd->iconf->ampdu);
-+ } else if (aggr == 2) {
-+ hapd->iconf->ampdu = 1;
-+ hapd->iconf->amsdu = 0;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU: %u\n",
-+ hapd->iconf->ampdu, hapd->iconf->amsdu);
-+ } else if (aggr == 3) {
-+ hapd->iconf->ampdu = 1;
-+ hapd->iconf->amsdu = 1;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU: %u\n",
-+ hapd->iconf->ampdu, hapd->iconf->amsdu);
-+ }
-+ }
-+
-+ if (os_snprintf_error(end - pos, ret))
-+ return 0;
-+
-+ return ret;
-+}
-+
-+
- static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
- char *buf, char *reply,
- int reply_size,
-@@ -4081,6 +4123,8 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
- reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
- } else if (os_strncmp(buf, "GET_IBF", 7) == 0) {
- reply_len = hostapd_ctrl_iface_get_ibf(hapd, reply, reply_size);
-+ } else if (os_strncmp(buf, "GET_AGGR", 8) == 0) {
-+ reply_len = hostapd_ctrl_iface_get_aggregation(hapd, reply, reply_size);
- } else {
- os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
- reply_len = 16;
-diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
-index c2a123a..9a5a6b1 100644
---- a/hostapd/hostapd_cli.c
-+++ b/hostapd/hostapd_cli.c
-@@ -1593,6 +1593,13 @@ static int hostapd_cli_cmd_get_ibf(struct wpa_ctrl *ctrl, int argc,
- }
-
-
-+static int hostapd_cli_cmd_get_aggregation(struct wpa_ctrl *ctrl, int argc,
-+ char *argv[])
-+{
-+ return hostapd_cli_cmd(ctrl, "GET_AGGR", 0, NULL, NULL);
-+}
-+
-+
- struct hostapd_cli_cmd {
- const char *cmd;
- int (*handler)(struct wpa_ctrl *ctrl, int argc, char *argv[]);
-@@ -1796,6 +1803,8 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
- "<tx type(0/1/2)> <interval> = runtime set inband discovery" },
- { "get_ibf", hostapd_cli_cmd_get_ibf, NULL,
- " = show iBF state (enabled/disabled)"},
-+ { "get_aggr", hostapd_cli_cmd_get_aggregation, NULL,
-+ " = show AMPDU and AMSDU state"},
- { NULL, NULL, NULL, NULL }
- };
-
-diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
-index 7a96cb8..3ce8217 100644
---- a/src/ap/ap_config.c
-+++ b/src/ap/ap_config.c
-@@ -299,6 +299,8 @@ struct hostapd_config * hostapd_config_defaults(void)
- conf->edcca_compensation = EDCCA_DEFAULT_COMPENSATION;
- conf->three_wire_enable = THREE_WIRE_MODE_DISABLE;
- conf->ibf_enable = IBF_DEFAULT_ENABLE;
-+ conf->ampdu = 1;
-+ conf->amsdu = 1;
-
- return conf;
- }
-diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 44a0e7e..3e73236 100644
---- a/src/ap/ap_config.h
-+++ b/src/ap/ap_config.h
-@@ -1159,6 +1159,8 @@ struct hostapd_config {
- int *edcca_threshold;
- u8 three_wire_enable;
- u8 ibf_enable;
-+ u8 ampdu;
-+ u8 amsdu;
- };
-
- enum three_wire_mode {
-diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index 60ae825..5d07272 100644
---- a/src/ap/ap_drv_ops.c
-+++ b/src/ap/ap_drv_ops.c
-@@ -1077,4 +1077,25 @@ int hostapd_drv_ibf_dump(struct hostapd_data *hapd, u8 *ibf_enable)
- if (!hapd->driver || !hapd->driver->ibf_dump)
- return 0;
- return hapd->driver->ibf_dump(hapd->drv_priv, ibf_enable);
--}
-\ No newline at end of file
-+}
-+
-+int hostapd_drv_ampdu_ctrl(struct hostapd_data *hapd)
-+{
-+ if (!hapd->driver || !hapd->driver->ampdu_ctrl)
-+ return 0;
-+ return hapd->driver->ampdu_ctrl(hapd->drv_priv, hapd->iconf->ampdu);
-+}
-+
-+int hostapd_drv_amsdu_ctrl(struct hostapd_data *hapd)
-+{
-+ if (!hapd->driver || !hapd->driver->amsdu_ctrl)
-+ return 0;
-+ return hapd->driver->amsdu_ctrl(hapd->drv_priv, hapd->iconf->amsdu);
-+}
-+
-+int hostapd_drv_aggregation_dump(struct hostapd_data *hapd, u8 *aggr)
-+{
-+ if (!hapd->driver || !hapd->driver->aggregation_dump)
-+ return 0;
-+ return hapd->driver->aggregation_dump(hapd->drv_priv, aggr);
-+}
-diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
-index ab9aedc..4c1c201 100644
---- a/src/ap/ap_drv_ops.h
-+++ b/src/ap/ap_drv_ops.h
-@@ -147,6 +147,9 @@ int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff);
- int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_ibf_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_ibf_dump(struct hostapd_data *hapd, u8 *ibf_enable);
-+int hostapd_drv_ampdu_ctrl(struct hostapd_data *hapd);
-+int hostapd_drv_amsdu_ctrl(struct hostapd_data *hapd);
-+int hostapd_drv_aggregation_dump(struct hostapd_data *hapd, u8 *aggr);
-
- #include "drivers/driver.h"
-
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index e44b73d..60bd6f3 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -2307,6 +2307,10 @@ dfs_offload:
- goto fail;
- if (hostapd_drv_ibf_ctrl(hapd) < 0)
- goto fail;
-+ if (hostapd_drv_ampdu_ctrl(hapd) < 0)
-+ goto fail;
-+ if (hostapd_drv_amsdu_ctrl(hapd) < 0)
-+ goto fail;
-
- 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 4050cf8..d78e538 100644
---- a/src/common/mtk_vendor.h
-+++ b/src/common/mtk_vendor.h
-@@ -177,6 +177,24 @@ enum mtk_vendor_attr_wireless_ctrl {
- NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL - 1
- };
-
-+enum mtk_vendor_attr_wireless_dump {
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_UNSPEC,
-+
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU,
-+
-+ /* keep last */
-+ NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX =
-+ NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP - 1
-+};
-+
-+static const struct nla_policy
-+wireless_dump_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP] = {
-+ [MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU] = { .type = NLA_U8 },
-+ [MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU] = { .type = NLA_U8 },
-+};
-+
- enum mtk_vendor_attr_rfeature_ctrl {
- MTK_VENDOR_ATTR_RFEATURE_CTRL_UNSPEC,
-
-diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index 71ded61..57f3be6 100644
---- a/src/drivers/driver.h
-+++ b/src/drivers/driver.h
-@@ -4720,6 +4720,17 @@ struct wpa_driver_ops {
- *
- */
- int (*ibf_dump)(void *priv, u8 *ibf_enable);
-+
-+ /**
-+ * ampdu_ctrl - enable/disable ampdu
-+ * amsdu_ctrl - enable/disable amsdu
-+ * aggregation_dump - get current ampdu and amsdu status
-+ * @priv: Private driver interface data
-+ *
-+ */
-+ int (*ampdu_ctrl)(void *priv, u8 ampdu);
-+ int (*amsdu_ctrl)(void *priv, u8 amsdu);
-+ int (*aggregation_dump)(void *priv, u8 *aggr);
- };
-
- /**
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 00f9231..07dac13 100644
---- a/src/drivers/driver_nl80211.c
-+++ b/src/drivers/driver_nl80211.c
-@@ -12776,6 +12776,163 @@ fail:
- return -ENOBUFS;
- }
-
-+static int nl80211_enable_ampdu(void *priv, u8 ampdu)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ if (!drv->mtk_wireless_vendor_cmd_avail) {
-+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support setting ap wireless control");
-+ return 0;
-+ }
-+
-+ msg = nl80211_drv_msg(drv, 0, NL80211_CMD_VENDOR);
-+ if (!msg)
-+ goto fail;
-+
-+ if (nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL))
-+ goto fail;
-+
-+ data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA);
-+ if (!data)
-+ goto fail;
-+
-+ nla_put_u8(msg, MTK_VENDOR_ATTR_WIRELESS_CTRL_AMPDU, ampdu);
-+
-+ nla_nest_end(msg, data);
-+ ret = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
-+ if (ret) {
-+ wpa_printf(MSG_ERROR, "Failed to set ampdu. ret=%d (%s)", ret, strerror(-ret));
-+ }
-+
-+ return ret;
-+
-+fail:
-+ nlmsg_free(msg);
-+ return -ENOBUFS;
-+}
-+
-+static int nl80211_enable_amsdu(void *priv, u8 amsdu)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ if (!drv->mtk_wireless_vendor_cmd_avail) {
-+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support setting ap wireless control");
-+ return 0;
-+ }
-+
-+ msg = nl80211_drv_msg(drv, 0, NL80211_CMD_VENDOR);
-+ if (!msg)
-+ goto fail;
-+
-+ if (nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL))
-+ goto fail;
-+
-+ data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA);
-+ if (!data)
-+ goto fail;
-+
-+ nla_put_u8(msg, MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU, amsdu);
-+
-+ nla_nest_end(msg, data);
-+ ret = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
-+ if (ret) {
-+ wpa_printf(MSG_ERROR, "Failed to set amsdu. ret=%d (%s)", ret, strerror(-ret));
-+ }
-+
-+ return ret;
-+
-+fail:
-+ nlmsg_free(msg);
-+ return -ENOBUFS;
-+}
-+
-+static int dump_aggregation_handler(struct nl_msg *msg, void *arg)
-+{
-+ u8 ampdu, amsdu;
-+ u8 *aggr = (u8 *) arg;
-+ struct nlattr *tb[NL80211_ATTR_MAX + 1];
-+ struct nlattr *tb_vendor[MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX + 1];
-+ struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
-+ struct nlattr *nl_vend, *attr_ampdu, *attr_amsdu;
-+
-+ nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
-+ genlmsg_attrlen(gnlh, 0), NULL);
-+
-+ nl_vend = tb[NL80211_ATTR_VENDOR_DATA];
-+ if (!nl_vend)
-+ return NL_SKIP;
-+
-+ nla_parse(tb_vendor, MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX,
-+ nla_data(nl_vend), nla_len(nl_vend), NULL);
-+
-+ attr_ampdu = tb_vendor[MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU];
-+ attr_amsdu = tb_vendor[MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU];
-+ if (!attr_ampdu || !attr_amsdu ){
-+ wpa_printf(MSG_ERROR, "nl80211: cannot find vendor attributes");
-+ return NL_SKIP;
-+ }
-+
-+ ampdu = nla_get_u8(attr_ampdu);
-+ amsdu = nla_get_u8(attr_amsdu);
-+
-+ *aggr = (ampdu<<1) + amsdu;
-+ return NL_SKIP;
-+}
-+
-+static int
-+nl80211_dump_aggregation(void *priv, u8 *aggr)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ if (!drv->mtk_wireless_vendor_cmd_avail) {
-+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support ap_wireless control");
-+ return 0;
-+ }
-+
-+ msg = nl80211_drv_msg(drv, NLM_F_DUMP, NL80211_CMD_VENDOR);
-+ if (!msg)
-+ goto fail;
-+
-+ if (nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL))
-+ goto fail;
-+
-+ data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA);
-+ if (!data)
-+ goto fail;
-+
-+ nla_nest_end(msg, data);
-+
-+ ret = send_and_recv_msgs(drv, msg, dump_aggregation_handler, aggr, NULL, NULL);
-+
-+ if (ret) {
-+ wpa_printf(MSG_ERROR, "Failed to dump aggregation. ret=%d (%s)", ret, strerror(-ret));
-+ }
-+
-+ return ret;
-+
-+fail:
-+ nlmsg_free(msg);
-+ return -ENOBUFS;
-+}
-+
- const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .name = "nl80211",
- .desc = "Linux nl80211/cfg80211",
-@@ -12930,4 +13087,7 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .three_wire_ctrl = nl80211_enable_three_wire,
- .ibf_ctrl = nl80211_ibf_enable,
- .ibf_dump = nl80211_ibf_dump,
-+ .ampdu_ctrl = nl80211_enable_ampdu,
-+ .amsdu_ctrl = nl80211_enable_amsdu,
-+ .aggregation_dump = nl80211_dump_aggregation,
- };
-diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h
-index 607592c..e570224 100644
---- a/src/drivers/driver_nl80211.h
-+++ b/src/drivers/driver_nl80211.h
-@@ -185,6 +185,7 @@ struct wpa_driver_nl80211_data {
- unsigned int mtk_hemu_vendor_cmd_avail:1;
- unsigned int mtk_3wire_vendor_cmd_avail:1;
- unsigned int mtk_ibf_vendor_cmd_avail:1;
-+ unsigned int mtk_wireless_vendor_cmd_avail:1;
-
- u64 vendor_scan_cookie;
- u64 remain_on_chan_cookie;
-diff --git a/src/drivers/driver_nl80211_capa.c b/src/drivers/driver_nl80211_capa.c
-index 9ecc0ff..fcfa68b 100644
---- a/src/drivers/driver_nl80211_capa.c
-+++ b/src/drivers/driver_nl80211_capa.c
-@@ -1065,6 +1065,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
- case MTK_NL80211_VENDOR_SUBCMD_IBF_CTRL:
- drv->mtk_ibf_vendor_cmd_avail = 1;
- break;
-+ case MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL:
-+ drv->mtk_wireless_vendor_cmd_avail = 1;
-+ break;
- }
- }
-
---
-2.18.0
-
diff --git a/recipes-wifi/hostapd/files/patches/patches.inc b/recipes-wifi/hostapd/files/patches/patches.inc
index ee712d1..309cd4f 100644
--- a/recipes-wifi/hostapd/files/patches/patches.inc
+++ b/recipes-wifi/hostapd/files/patches/patches.inc
@@ -66,10 +66,9 @@
file://99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch \
file://99911-hostapd-mtk-Add-mtk_vendor.h.patch \
file://99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch \
- file://99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch \
- file://99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch \
- file://99916-hostapd-mtk-Add-hostapd-iBF-control.patch \
- file://99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch \
- file://99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch \
- file://99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch \
+ file://99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch \
+ file://99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch \
+ file://99915-hostapd-mtk-Add-hostapd-iBF-control.patch \
+ file://99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch \
+ file://99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch \
"
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/900-mac80211-mtk-export-del-all-station-for-ampdu-amsdu-on-off-function.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/900-mac80211-mtk-export-del-all-station-for-ampdu-amsdu-on-off-function.patch
deleted file mode 100755
index 388d9cb..0000000
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/900-mac80211-mtk-export-del-all-station-for-ampdu-amsdu-on-off-function.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From ae8bd933a1ef1499863dbb8313a61375b7d00c11 Mon Sep 17 00:00:00 2001
-From: TomLiu <tomml.liu@mediatek.com>
-Date: Wed, 19 Oct 2022 13:33:02 +0800
-Subject: [PATCH 900/914] mac80211: export del all station for ampdu amsdu on
- off function
-
-Signed-off-by: TomLiu <tomml.liu@mediatek.com>
----
- include/net/mac80211.h | 13 +++++++++++++
- net/mac80211/cfg.c | 13 +++++++++++++
- net/mac80211/sta_info.c | 3 ++-
- 3 files changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/include/net/mac80211.h b/include/net/mac80211.h
-index c85050f..edcad3b 100644
---- a/include/net/mac80211.h
-+++ b/include/net/mac80211.h
-@@ -2662,6 +2662,13 @@ static inline void _ieee80211_hw_set(struct ieee80211_hw *hw,
- }
- #define ieee80211_hw_set(hw, flg) _ieee80211_hw_set(hw, IEEE80211_HW_##flg)
-
-+static inline void _ieee80211_hw_clear(struct ieee80211_hw *hw,
-+ enum ieee80211_hw_flags flg)
-+{
-+ return __clear_bit(flg, hw->flags);
-+}
-+#define ieee80211_hw_clear(hw, flg) _ieee80211_hw_clear(hw, IEEE80211_HW_##flg)
-+
- /**
- * struct ieee80211_scan_request - hw scan request
- *
-@@ -5056,6 +5063,12 @@ void ieee80211_beacon_set_cntdwn(struct ieee80211_vif *vif, u8 counter);
- */
- void ieee80211_csa_finish(struct ieee80211_vif *vif);
-
-+/**
-+ * ieee80211_del_all_station - request mac80211 to delete all stations
-+ * @hw: pointer obtained from ieee80211_alloc_hw().
-+ */
-+void ieee80211_del_all_station(struct ieee80211_hw *hw);
-+
- /**
- * ieee80211_beacon_cntdwn_is_complete - find out if countdown reached 1
- * @vif: &struct ieee80211_vif pointer from the add_interface callback.
-diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index abe7318..b582730 100644
---- a/net/mac80211/cfg.c
-+++ b/net/mac80211/cfg.c
-@@ -1822,6 +1822,19 @@ static int ieee80211_del_station(struct wiphy *wiphy, struct net_device *dev,
- return 0;
- }
-
-+void ieee80211_del_all_station(struct ieee80211_hw *hw)
-+{
-+ struct ieee80211_local *local = hw_to_local(hw);
-+ struct sta_info *sta, *tmp;
-+
-+ mutex_lock(&local->sta_mtx);
-+ list_for_each_entry_safe(sta, tmp, &local->sta_list, list) {
-+ WARN_ON(__sta_info_destroy(sta));
-+ }
-+ mutex_unlock(&local->sta_mtx);
-+}
-+EXPORT_SYMBOL(ieee80211_del_all_station);
-+
- static int ieee80211_change_station(struct wiphy *wiphy,
- struct net_device *dev, const u8 *mac,
- struct station_parameters *params)
-diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
-index 541c769..a703e83 100644
---- a/net/mac80211/sta_info.c
-+++ b/net/mac80211/sta_info.c
-@@ -683,7 +683,8 @@ static int sta_info_insert_finish(struct sta_info *sta) __acquires(RCU)
- }
-
- /* accept BA sessions now */
-- clear_sta_flag(sta, WLAN_STA_BLOCK_BA);
-+ if (ieee80211_hw_check(&local->hw, AMPDU_AGGREGATION))
-+ clear_sta_flag(sta, WLAN_STA_BLOCK_BA);
-
- ieee80211_sta_debugfs_add(sta);
- rate_control_add_sta_debugfs(sta);
---
-2.18.0
-
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc b/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
index 8be33dc..557d22c 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
@@ -49,7 +49,6 @@
file://782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch \
file://783-sync-nl80211.patch \
file://800-mac80211-mask-nested-A-MSDU-support-for-mesh.patch \
- file://900-mac80211-mtk-export-del-all-station-for-ampdu-amsdu-on-off-function.patch \
file://901-mac80211-mtk-check-twt-responder-when-setu-twt.patch \
file://902-nl80211-mtk-internal-extend-CAC-time-for-weather-radar-c.patch \
file://903-mac80211-mtk-it-s-invalid-case-when-frag_threshold-is-gr.patch \
diff --git a/recipes-wifi/linux-mt76/files/patches/1121-mt76-mt7915-implement-bin-file-mode.patch b/recipes-wifi/linux-mt76/files/patches/1121-mt76-mt7915-implement-bin-file-mode.patch
index db53404..5dc8a54 100644
--- a/recipes-wifi/linux-mt76/files/patches/1121-mt76-mt7915-implement-bin-file-mode.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1121-mt76-mt7915-implement-bin-file-mode.patch
@@ -1,9 +1,8 @@
-From f7cb9b3ad2c0207db231a16d04beea22be1ef798 Mon Sep 17 00:00:00 2001
+From ee7302c84173d00af165f8aa2330e8f11607e5d7 Mon Sep 17 00:00:00 2001
From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Date: Thu, 7 Jul 2022 11:09:59 +0800
-Subject: [PATCH 1121/1128] mt76: mt7915: implement bin file mode
+Subject: [PATCH] mt76: mt7915: implement bin file mode
-Change-Id: I2a726341541a11cbecdb210b33a8e79aefbd6cf3
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
---
eeprom.c | 18 +++++++++++++++
@@ -11,8 +10,8 @@
mt7915/eeprom.c | 52 ++++++++++++++++++++------------------------
mt7915/eeprom.h | 44 +++++++++++++++++++++++++++++++++++++
mt7915/mt7915.h | 17 ++++++++++++---
- mt7915/mtk_debugfs.c | 36 ++++++++++++++++++++++++++++++
- 6 files changed, 136 insertions(+), 32 deletions(-)
+ mt7915/mtk_debugfs.c | 41 ++++++++++++++++++++++++++++++++++
+ 6 files changed, 141 insertions(+), 32 deletions(-)
diff --git a/eeprom.c b/eeprom.c
index e083964..5b9faf7 100644
@@ -255,7 +254,7 @@
bool ibf;
diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index 9de5b0f..36cb6f0 100644
+index 9de5b0f..e14b52c 100644
--- a/mt7915/mtk_debugfs.c
+++ b/mt7915/mtk_debugfs.c
@@ -3,6 +3,7 @@
@@ -266,7 +265,7 @@
#ifdef MTK_DEBUG
#define LWTBL_IDX2BASE_ID GENMASK(14, 8)
-@@ -2893,6 +2894,39 @@ mt7915_wa_debug(void *data, u64 val)
+@@ -2893,6 +2894,44 @@ mt7915_wa_debug(void *data, u64 val)
DEFINE_DEBUGFS_ATTRIBUTE(fops_wa_debug, NULL, mt7915_wa_debug,
"0x%llx\n");
@@ -274,8 +273,13 @@
+{
+ struct mt7915_dev *dev = dev_get_drvdata(s->private);
+ struct mt76_dev *mdev = &dev->mt76;
++#ifdef CONFIG_NL80211_TESTMODE
+ char *mtd_name = mdev->test_mtd.name;
+ u32 mtd_offset = mdev->test_mtd.offset;
++#else
++ char *mtd_name;
++ u32 mtd_offset;
++#endif
+
+ seq_printf(s, "Current eeprom mode:\n");
+
@@ -306,7 +310,7 @@
int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
{
struct mt7915_dev *dev = phy->dev;
-@@ -2973,6 +3007,8 @@ int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
+@@ -2973,6 +3012,8 @@ int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
debugfs_create_devm_seqfile(dev->mt76.dev, "fw_version", dir,
mt7915_dump_version);
diff --git a/recipes-wifi/linux-mt76/files/patches/1126-mt76-mt7915-add-AMPDU-AMSDU-OnOff-ctonrol.patch b/recipes-wifi/linux-mt76/files/patches/1126-mt76-mt7915-add-AMPDU-AMSDU-OnOff-ctonrol.patch
deleted file mode 100644
index bbeca19..0000000
--- a/recipes-wifi/linux-mt76/files/patches/1126-mt76-mt7915-add-AMPDU-AMSDU-OnOff-ctonrol.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 6545cf953298db275cb7373c797be2b6ae2e0d81 Mon Sep 17 00:00:00 2001
-From: TomLiu <tomml.liu@mediatek.com>
-Date: Wed, 21 Sep 2022 13:55:15 -0700
-Subject: [PATCH 1126/1128] mt76: mt7915: add AMPDU/AMSDU OnOff ctonrol
-
-Change-Id: I6030b3a420e96b02e83b0c7a3c3626a3b23c97e3
----
- mt7915/mac.c | 28 ++++++++++++++++++++++++++++
- mt7915/mt7915.h | 2 ++
- mt7915/vendor.c | 39 +++++++++++++++++++++++++++++++++++++++
- mt7915/vendor.h | 14 ++++++++++++++
- 4 files changed, 83 insertions(+)
-
-diff --git a/mt7915/mac.c b/mt7915/mac.c
-index acc9871..5a809c2 100644
---- a/mt7915/mac.c
-+++ b/mt7915/mac.c
-@@ -2020,6 +2020,34 @@ static void mt7915_mac_severe_check(struct mt7915_phy *phy)
- phy->trb_ts = trb;
- }
-
-+void mt7915_set_wireless_ampdu(struct ieee80211_hw *hw, u8 en)
-+{
-+ ieee80211_del_all_station(hw);
-+ /* clear/set the feature ampdu support */
-+ if (en)
-+ ieee80211_hw_set(hw, AMPDU_AGGREGATION);
-+ else
-+ ieee80211_hw_clear(hw, AMPDU_AGGREGATION);
-+}
-+
-+void mt7915_set_wireless_amsdu(struct ieee80211_hw *hw, u8 en) {
-+ struct mt76_phy *mphy = hw->priv;
-+ struct mt76_dev *mdev = mphy->dev;
-+
-+ if (!ieee80211_hw_check(hw, AMPDU_AGGREGATION)) {
-+ dev_err(mdev->dev, "AMSDU set failed, please enable ampdu first!\n");
-+ return;
-+ }
-+
-+ ieee80211_del_all_station(hw);
-+
-+ /* clear/set the feature ampdu support */
-+ if (en)
-+ ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU);
-+ else
-+ ieee80211_hw_clear(hw, SUPPORTS_AMSDU_IN_AMPDU);
-+}
-+
- #ifdef CONFIG_MTK_VENDOR
- void mt7915_capi_sta_rc_work(void *data, struct ieee80211_sta *sta)
- {
-diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 98c35d2..4cdcb63 100644
---- a/mt7915/mt7915.h
-+++ b/mt7915/mt7915.h
-@@ -738,6 +738,8 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
- bool pci, int *irq);
-
- #ifdef CONFIG_MTK_VENDOR
-+void mt7915_set_wireless_ampdu(struct ieee80211_hw *hw, u8 en);
-+void mt7915_set_wireless_amsdu(struct ieee80211_hw *hw, u8 en);
- void mt7915_capi_sta_rc_work(void *data, struct ieee80211_sta *sta);
- void mt7915_set_wireless_vif(void *data, u8 *mac, struct ieee80211_vif *vif);
- void mt7915_mcu_set_rfeature_starec(void *data, struct mt7915_dev *dev,
-diff --git a/mt7915/vendor.c b/mt7915/vendor.c
-index cbbb084..d73fdd4 100644
---- a/mt7915/vendor.c
-+++ b/mt7915/vendor.c
-@@ -30,10 +30,18 @@ wireless_ctrl_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL] = {
- [MTK_VENDOR_ATTR_WIRELESS_CTRL_NUSERS_OFDMA] = {.type = NLA_U8 },
- [MTK_VENDOR_ATTR_WIRELESS_CTRL_MIMO] = {.type = NLA_U8 },
- [MTK_VENDOR_ATTR_WIRELESS_CTRL_BA_BUFFER_SIZE] = {.type = NLA_U16 },
-+ [MTK_VENDOR_ATTR_WIRELESS_CTRL_AMPDU] = {.type = NLA_U8 },
-+ [MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU] = {.type = NLA_U8 },
- [MTK_VENDOR_ATTR_WIRELESS_CTRL_MU_EDCA] = {.type = NLA_U8 },
- [MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT] = {.type = NLA_U8 },
- };
-
-+static const struct nla_policy
-+wireless_dump_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP] = {
-+ [MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU] = { .type = NLA_U8 },
-+ [MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU] = { .type = NLA_U8 },
-+};
-+
- static const struct nla_policy
- hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL] = {
- [MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF] = {.type = NLA_U8 },
-@@ -981,11 +989,41 @@ static int mt7915_vendor_wireless_ctrl(struct wiphy *wiphy,
- val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT]);
- mt7915_mcu_set_cfg(phy, CFGINFO_CERT_CFG, val8); /* Cert Enable for OMI */
- mt7915_mcu_set_bypass_smthint(phy, val8); /* Cert bypass smooth interpolation */
-+ } else if (tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMPDU]) {
-+ val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMPDU]);
-+ mt7915_set_wireless_ampdu(hw, val8);
-+ } else if (tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU]) {
-+ val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU]);
-+ mt7915_set_wireless_amsdu(hw, val8);
- }
-
- return 0;
- }
-
-+static int
-+mt7915_vendor_wireless_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
-+ struct sk_buff *skb, const void *data, int data_len,
-+ unsigned long *storage)
-+{
-+ struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
-+ struct mt7915_phy *phy = mt7915_hw_phy(hw);
-+ struct mt7915_dev *dev = phy->dev;
-+ int len = 0;
-+ if (*storage == 1)
-+ return -ENOENT;
-+ *storage = 1;
-+
-+
-+ if (nla_put_u8(skb,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU, ieee80211_hw_check(hw, AMPDU_AGGREGATION)) ||
-+ nla_put_u8(skb,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU, ieee80211_hw_check(hw, SUPPORTS_AMSDU_IN_AMPDU)))
-+ return -ENOMEM;
-+ len += 2;
-+
-+ return len;
-+}
-+
- static int mt7915_vendor_hemu_ctrl(struct wiphy *wiphy,
- struct wireless_dev *wdev,
- const void *data,
-@@ -1223,6 +1261,7 @@ static const struct wiphy_vendor_command mt7915_vendor_commands[] = {
- .flags = WIPHY_VENDOR_CMD_NEED_NETDEV |
- WIPHY_VENDOR_CMD_NEED_RUNNING,
- .doit = mt7915_vendor_wireless_ctrl,
-+ .dumpit = mt7915_vendor_wireless_ctrl_dump,
- .policy = wireless_ctrl_policy,
- .maxattr = MTK_VENDOR_ATTR_WIRELESS_CTRL_MAX,
- },
-diff --git a/mt7915/vendor.h b/mt7915/vendor.h
-index 5aac559..53abb10 100644
---- a/mt7915/vendor.h
-+++ b/mt7915/vendor.h
-@@ -58,6 +58,8 @@ enum mtk_vendor_attr_wireless_ctrl {
- MTK_VENDOR_ATTR_WIRELESS_CTRL_NUSERS_OFDMA,
- MTK_VENDOR_ATTR_WIRELESS_CTRL_BA_BUFFER_SIZE,
- MTK_VENDOR_ATTR_WIRELESS_CTRL_MIMO,
-+ MTK_VENDOR_ATTR_WIRELESS_CTRL_AMPDU,
-+ MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU,
- MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT = 9,
-
- MTK_VENDOR_ATTR_WIRELESS_CTRL_MU_EDCA, /* reserve */
-@@ -67,6 +69,18 @@ enum mtk_vendor_attr_wireless_ctrl {
- NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL - 1
- };
-
-+enum mtk_vendor_attr_wireless_dump {
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_UNSPEC,
-+
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU,
-+
-+ /* keep last */
-+ NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX =
-+ NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP - 1
-+};
-+
- enum mtk_vendor_attr_hemu_ctrl {
- MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
-
---
-2.18.0
-
diff --git a/recipes-wifi/linux-mt76/files/patches/1127-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch b/recipes-wifi/linux-mt76/files/patches/1126-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch
similarity index 100%
rename from recipes-wifi/linux-mt76/files/patches/1127-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch
rename to recipes-wifi/linux-mt76/files/patches/1126-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch
diff --git a/recipes-wifi/linux-mt76/files/patches/1128-mt76-support-on-off-SW-ACI-through-debugfs.patch b/recipes-wifi/linux-mt76/files/patches/1127-mt76-support-on-off-SW-ACI-through-debugfs.patch
similarity index 100%
rename from recipes-wifi/linux-mt76/files/patches/1128-mt76-support-on-off-SW-ACI-through-debugfs.patch
rename to recipes-wifi/linux-mt76/files/patches/1127-mt76-support-on-off-SW-ACI-through-debugfs.patch
diff --git a/recipes-wifi/linux-mt76/files/patches/patches.inc b/recipes-wifi/linux-mt76/files/patches/patches.inc
index e0706a8..fcc6800 100644
--- a/recipes-wifi/linux-mt76/files/patches/patches.inc
+++ b/recipes-wifi/linux-mt76/files/patches/patches.inc
@@ -27,9 +27,8 @@
file://1123-mt76-HEMU-Add-dump-support.patch \
file://1124-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ctrl.patch \
file://1125-mt76-add-ibf-control-vendor-cmd.patch \
- file://1126-mt76-mt7915-add-AMPDU-AMSDU-OnOff-ctonrol.patch \
- file://1127-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch \
- file://1128-mt76-support-on-off-SW-ACI-through-debugfs.patch \
+ file://1126-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch \
+ file://1127-mt76-support-on-off-SW-ACI-through-debugfs.patch \
file://3001-mt76-add-wed-tx-support.patch \
file://3002-mt76-mt7915-add-wed-tx-wds-support-on-mt7986.patch \
file://3003-mt76-add-wed-rx-support.patch \
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch b/recipes-wifi/wpa-supplicant/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
index ce6d8a2..e8e8b8c 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
@@ -1,7 +1,7 @@
-From ad6a0480d6e495796ac74b8ec53bcc2e85534caf Mon Sep 17 00:00:00 2001
+From 194a2405c98852358de25d96cb9d1c7c56ea4bdc Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 19:18:07 +0800
-Subject: [PATCH 99900/99916] Add hostapd_neighbor_count() and
+Subject: [PATCH 99900/99917] Add hostapd_neighbor_count() and
hostapd_neighbor_insert_buffer ()
The first function can count the number of neighbor report in neighbore report
@@ -13,7 +13,7 @@
2 files changed, 35 insertions(+)
diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index 52f25eb7a..c12139067 100644
+index 52f25eb..c121390 100644
--- a/src/ap/neighbor_db.c
+++ b/src/ap/neighbor_db.c
@@ -89,6 +89,38 @@ int hostapd_neighbor_show(struct hostapd_data *hapd, char *buf, size_t buflen)
@@ -56,7 +56,7 @@
{
wpabuf_free(nr->nr);
diff --git a/src/ap/neighbor_db.h b/src/ap/neighbor_db.h
-index 992671b62..1ae194d98 100644
+index 992671b..1ae194d 100644
--- a/src/ap/neighbor_db.h
+++ b/src/ap/neighbor_db.h
@@ -24,4 +24,7 @@ int hostapd_neighbor_remove(struct hostapd_data *hapd, const u8 *bssid,
@@ -68,5 +68,5 @@
+ size_t buflen);
#endif /* NEIGHBOR_DB_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch b/recipes-wifi/wpa-supplicant/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
index d908add..752584b 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
@@ -1,7 +1,7 @@
-From 5773e6a27eb2d2028972fb0ab1206faf6a117d17 Mon Sep 17 00:00:00 2001
+From 0a4f464da1089e59eb5155b5479ceff785697881 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 19:25:05 +0800
-Subject: [PATCH 99901/99916] Support including neighbor report elements in
+Subject: [PATCH 99901/99917] Support including neighbor report elements in
ANQP response
---
@@ -10,7 +10,7 @@
2 files changed, 31 insertions(+)
diff --git a/src/ap/gas_serv.c b/src/ap/gas_serv.c
-index 90f15778b..5845ff857 100644
+index 90f1577..5845ff8 100644
--- a/src/ap/gas_serv.c
+++ b/src/ap/gas_serv.c
@@ -19,6 +19,7 @@
@@ -78,7 +78,7 @@
#ifdef CONFIG_FILS
if (info_id == ANQP_FILS_REALM_INFO &&
diff --git a/src/ap/gas_serv.h b/src/ap/gas_serv.h
-index 1528af4af..d0241f23c 100644
+index 1528af4..d0241f2 100644
--- a/src/ap/gas_serv.h
+++ b/src/ap/gas_serv.h
@@ -40,6 +40,8 @@
@@ -91,5 +91,5 @@
* First 15 Hotspot 2.0 vendor specific ANQP-elements can be included in the
* optimized bitmap.
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch b/recipes-wifi/wpa-supplicant/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
index cc10887..99bea80 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
@@ -1,7 +1,7 @@
-From dc41ee6abddd05f25cba50126afe7890b890dfbc Mon Sep 17 00:00:00 2001
+From d283e4c84ece2f6b6dc21889b6b326ea3de11545 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 19:49:09 +0800
-Subject: [PATCH 99902/99916] Support including neignbor report elements in BTM
+Subject: [PATCH 99902/99917] Support including neignbor report elements in BTM
response
---
@@ -9,7 +9,7 @@
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c
-index 3ea92af2d..532d9dbe6 100644
+index 3ea92af..532d9db 100644
--- a/src/ap/wnm_ap.c
+++ b/src/ap/wnm_ap.c
@@ -20,6 +20,7 @@
@@ -64,5 +64,5 @@
wpa_printf(MSG_DEBUG, "WNM: Send BSS Transition Management Request to "
MACSTR " dialog_token=%u req_mode=0x%x disassoc_timer=%u "
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch b/recipes-wifi/wpa-supplicant/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
index 5370298..cac4092 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
@@ -1,7 +1,7 @@
-From e3453cf75d1d9067e97b6d0d370afb3805eccea7 Mon Sep 17 00:00:00 2001
+From de13e08cb3e1210bfed2de824c6a19e8dbed057e Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 19:56:18 +0800
-Subject: [PATCH 99903/99916] Support configuring BSS Termination TSF by using
+Subject: [PATCH 99903/99917] Support configuring BSS Termination TSF by using
hostapd_cli command
---
@@ -12,7 +12,7 @@
4 files changed, 11 insertions(+)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index a2584920c..c2a282227 100644
+index a258492..c2a2822 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -1338,6 +1338,11 @@ static int hostapd_ctrl_iface_set(struct hostapd_data *hapd, char *cmd)
@@ -28,7 +28,7 @@
ret = hostapd_set_iface(hapd->iconf, hapd->conf, cmd, value);
if (ret)
diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
-index d7a0c7c80..4a20eb4e1 100644
+index d7a0c7c..4a20eb4 100644
--- a/src/ap/ap_config.c
+++ b/src/ap/ap_config.c
@@ -170,6 +170,7 @@ void hostapd_config_defaults_bss(struct hostapd_bss_config *bss)
@@ -40,7 +40,7 @@
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index ed3bec7fe..3f68e76d5 100644
+index ed3bec7..3f68e76 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
@@ -557,6 +557,7 @@ struct hostapd_bss_config {
@@ -52,7 +52,7 @@
/* IEEE 802.11u - Interworking */
int interworking;
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 96209ce7e..46a860905 100644
+index 96209ce..46a8609 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1203,6 +1203,10 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -67,5 +67,5 @@
WPA_PUT_LE16(&bss_term_dur[10], atoi(end));
}
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch b/recipes-wifi/wpa-supplicant/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
index f147d68..7334217 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
@@ -1,14 +1,14 @@
-From 17c48cab4058c5183f3fedc1bfbd6877a706e003 Mon Sep 17 00:00:00 2001
+From cdd0a088a13000d67a5bd821a609546f8b79c7e0 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 21:03:38 +0800
-Subject: [PATCH 99904/99916] Disable interface if BSS Termination TSF is set
+Subject: [PATCH 99904/99917] Disable interface if BSS Termination TSF is set
---
src/ap/wnm_ap.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c
-index 532d9dbe6..f6761aba3 100644
+index 532d9db..f6761ab 100644
--- a/src/ap/wnm_ap.c
+++ b/src/ap/wnm_ap.c
@@ -780,6 +780,22 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
@@ -43,5 +43,5 @@
if (url) {
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch b/recipes-wifi/wpa-supplicant/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
index c967ebf..83d9814 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
@@ -1,7 +1,7 @@
-From 1538a92c53326c958133d5859c8dff0d56050c68 Mon Sep 17 00:00:00 2001
+From bd1816cb396a071cc5ae2fe13992362fcbf45fe9 Mon Sep 17 00:00:00 2001
From: "howard.hsu" <howard-yh.hsu@mediatek.com>
Date: Wed, 19 Jan 2022 21:15:07 +0800
-Subject: [PATCH 99905/99916] Add set_send_disassoc_frame_timer() to send
+Subject: [PATCH 99905/99917] Add set_send_disassoc_frame_timer() to send
disassociate frame
Function set_disassoc_timer() may fail if key was deleted first. This new
@@ -11,7 +11,7 @@
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c
-index f6761aba3..4349e1df2 100644
+index f6761ab..4349e1d 100644
--- a/src/ap/wnm_ap.c
+++ b/src/ap/wnm_ap.c
@@ -780,6 +780,34 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
@@ -59,5 +59,5 @@
return 0;
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch b/recipes-wifi/wpa-supplicant/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
index c88f3e5..174d8a9 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
@@ -1,7 +1,7 @@
-From 8b4c91eee579bb232b7a921abbfe07f3630d73b9 Mon Sep 17 00:00:00 2001
+From 99665874b76ccacd85e56ea8767ebb0b8d4b3b1e Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 19:58:57 +0800
-Subject: [PATCH 99906/99916] Support including neighbor report elements in BTM
+Subject: [PATCH 99906/99917] Support including neighbor report elements in BTM
request
---
@@ -9,7 +9,7 @@
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 46a860905..1cbec537a 100644
+index 46a8609..1cbec53 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1233,8 +1233,13 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -28,5 +28,5 @@
req_mode |= WNM_BSS_TM_REQ_ABRIDGED;
if (os_strstr(cmd, " disassoc_imminent=1"))
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch b/recipes-wifi/wpa-supplicant/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
index 37ff1ac..63658c9 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
@@ -1,7 +1,7 @@
-From 9af8c262f5405028d704a3b7f93c4fcb7ed5f7b4 Mon Sep 17 00:00:00 2001
+From bc2244e766d863c35369cc1641b058d062681abe Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 20:00:49 +0800
-Subject: [PATCH 99907/99916] Add hostapd_neighbor_set_own_report_pref()
+Subject: [PATCH 99907/99917] Add hostapd_neighbor_set_own_report_pref()
---
src/ap/ctrl_iface_ap.c | 6 +++++-
@@ -10,7 +10,7 @@
3 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 1cbec537a..274b43587 100644
+index 1cbec53..274b435 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1242,8 +1242,12 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -28,7 +28,7 @@
#ifdef CONFIG_MBO
pos = os_strstr(cmd, "mbo=");
diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index c12139067..134ed4a71 100644
+index c121390..134ed4a 100644
--- a/src/ap/neighbor_db.c
+++ b/src/ap/neighbor_db.c
@@ -357,3 +357,39 @@ void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)
@@ -72,7 +72,7 @@
+ }
+}
diff --git a/src/ap/neighbor_db.h b/src/ap/neighbor_db.h
-index 1ae194d98..2e16f7268 100644
+index 1ae194d..2e16f72 100644
--- a/src/ap/neighbor_db.h
+++ b/src/ap/neighbor_db.h
@@ -27,4 +27,6 @@ void hostapd_free_neighbor_db(struct hostapd_data *hapd);
@@ -83,5 +83,5 @@
+ size_t buflen, const int pref);
#endif /* NEIGHBOR_DB_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch b/recipes-wifi/wpa-supplicant/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
index 563588e..8d23b84 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
@@ -1,7 +1,7 @@
-From 21c1940ecfd6d9404097868ad4a59a0d6a54ea69 Mon Sep 17 00:00:00 2001
+From 952404e8327c98817a2d975b5595ca5d9a15e739 Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 9 Jun 2022 20:02:06 +0800
-Subject: [PATCH 99908/99916] Add hostapd_neighbor_set_pref_by_non_pref_chan()
+Subject: [PATCH 99908/99917] Add hostapd_neighbor_set_pref_by_non_pref_chan()
---
src/ap/ctrl_iface_ap.c | 2 ++
@@ -10,7 +10,7 @@
3 files changed, 57 insertions(+)
diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 274b43587..18bae5c8b 100644
+index 274b435..18bae5c 100644
--- a/src/ap/ctrl_iface_ap.c
+++ b/src/ap/ctrl_iface_ap.c
@@ -1250,6 +1250,8 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
@@ -23,7 +23,7 @@
if (pos) {
unsigned int mbo_reason, cell_pref, reassoc_delay;
diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index 134ed4a71..9254d09fd 100644
+index 134ed4a..9254d09 100644
--- a/src/ap/neighbor_db.c
+++ b/src/ap/neighbor_db.c
@@ -393,3 +393,54 @@ void hostapd_neighbor_set_own_report_pref(struct hostapd_data *hapd, char *nei_b
@@ -82,7 +82,7 @@
+}
+#endif
diff --git a/src/ap/neighbor_db.h b/src/ap/neighbor_db.h
-index 2e16f7268..a1ddc075b 100644
+index 2e16f72..a1ddc07 100644
--- a/src/ap/neighbor_db.h
+++ b/src/ap/neighbor_db.h
@@ -29,4 +29,8 @@ int hostapd_neighbor_insert_buffer(struct hostapd_data *hapd, char *buf,
@@ -95,5 +95,5 @@
+#endif
#endif /* NEIGHBOR_DB_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch b/recipes-wifi/wpa-supplicant/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
index 58b47fa..12e0e36 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
@@ -1,14 +1,14 @@
-From 0818f9258d0491387103ef7b98b8dbbd1ada12ec Mon Sep 17 00:00:00 2001
+From b7a74dbae4ff2bdbc5c84d0299bc18020fe86d13 Mon Sep 17 00:00:00 2001
From: Shayne Chen <shayne.chen@mediatek.com>
Date: Tue, 20 Sep 2022 19:33:45 +0800
-Subject: [PATCH 99909/99916] print sae groups by hostapd ctrl
+Subject: [PATCH 99909/99917] print sae groups by hostapd ctrl
---
hostapd/ctrl_iface.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index c2a282227..bc690c526 100644
+index c2a2822..bc690c5 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -1412,6 +1412,19 @@ static int hostapd_ctrl_iface_get(struct hostapd_data *hapd, char *cmd,
@@ -32,5 +32,5 @@
return -1;
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch b/recipes-wifi/wpa-supplicant/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
index b404963..2af1d8e 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
@@ -1,7 +1,7 @@
-From cff3f584e921ce37fcd72a895666abc9227d16fd Mon Sep 17 00:00:00 2001
+From 7a7b2284ad75cd20c788dad6e253bc2940203ff9 Mon Sep 17 00:00:00 2001
From: MeiChia Chiu <meichia.chiu@mediatek.com>
Date: Tue, 31 May 2022 21:15:54 +0800
-Subject: [PATCH 99910/99916] hostapd: add support for runtime set in-band
+Subject: [PATCH 99910/99917] hostapd: add support for runtime set in-band
discovery
Usage:
@@ -21,7 +21,7 @@
5 files changed, 98 insertions(+), 4 deletions(-)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index bc690c526..bb8c74fd3 100644
+index bc690c5..bb8c74f 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -826,6 +826,69 @@ static int hostapd_ctrl_iface_send_qos_map_conf(struct hostapd_data *hapd,
@@ -105,7 +105,7 @@
reply_len = hostapd_ctrl_iface_get_config(hapd, reply,
reply_size);
diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
-index 85c41d0c3..db2125805 100644
+index 85c41d0..db21258 100644
--- a/hostapd/hostapd_cli.c
+++ b/hostapd/hostapd_cli.c
@@ -642,6 +642,24 @@ static int hostapd_cli_cmd_wps_config(struct wpa_ctrl *ctrl, int argc,
@@ -143,7 +143,7 @@
};
diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index 814e86efe..1a26f11ff 100644
+index 814e86e..1a26f11 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -1497,6 +1497,8 @@ static u8 * hostapd_fils_discovery(struct hostapd_data *hapd,
@@ -166,7 +166,7 @@
¶ms->fd_frame_tmpl_len);
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 53f25030a..5eba0ea1b 100644
+index 53f2503..5eba0ea 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -4498,9 +4498,10 @@ static int nl80211_fils_discovery(struct i802_bss *bss, struct nl_msg *msg,
@@ -195,7 +195,7 @@
#endif /* CONFIG_FILS */
diff --git a/src/drivers/nl80211_copy.h b/src/drivers/nl80211_copy.h
-index 0568a7909..c4bf3ad35 100644
+index 0568a79..c4bf3ad 100644
--- a/src/drivers/nl80211_copy.h
+++ b/src/drivers/nl80211_copy.h
@@ -7379,6 +7379,7 @@ enum nl80211_fils_discovery_attributes {
@@ -207,5 +207,5 @@
/* keep last */
__NL80211_FILS_DISCOVERY_ATTR_LAST,
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch b/recipes-wifi/wpa-supplicant/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
index e2a4cb2..ff4d232 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
@@ -1,7 +1,7 @@
-From 653bfcdadce50131c3c394b33acd94b110186744 Mon Sep 17 00:00:00 2001
+From f5ba1e7e33d0736602957f8131540202cec1c7ad 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 99911/99916] Add mtk_vendor.h
+Subject: [PATCH 99911/99917] Add mtk_vendor.h
---
src/common/mtk_vendor.h | 195 ++++++++++++++++++++++++++++++++++++++++
@@ -10,7 +10,7 @@
diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
new file mode 100644
-index 000000000..528387fa5
+index 0000000..528387f
--- /dev/null
+++ b/src/common/mtk_vendor.h
@@ -0,0 +1,195 @@
@@ -210,5 +210,5 @@
+};
+#endif /* MTK_VENDOR_H */
--
-2.25.1
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch b/recipes-wifi/wpa-supplicant/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
index be526be..e1161f8 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
@@ -1,8 +1,8 @@
-From 17051f7a8b2193e24556e357f3f1665d67a79330 Mon Sep 17 00:00:00 2001
+From 27645d8206ad1a0276f05faa175f2ed4ffb8202e 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] Support new hostapd configuration, edcca_enable and
- edcca_compensation and implement edcca related handlers.
+Subject: [PATCH 99912/99917] Support new hostapd configuration, edcca_enable
+ and edcca_compensation and implement edcca related handlers.
---
hostapd/config_file.c | 32 ++++++
@@ -615,5 +615,5 @@
wpa_printf(MSG_DEBUG, "nl80211: Supported vendor command: vendor_id=0x%x subcmd=%u",
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch b/recipes-wifi/wpa-supplicant/files/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
similarity index 98%
rename from recipes-wifi/wpa-supplicant/files/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
rename to recipes-wifi/wpa-supplicant/files/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
index 054dd47..572cdd1 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
@@ -1,7 +1,7 @@
-From d5c58b339c448a6d1d476205b68d434d7bf8e472 Mon Sep 17 00:00:00 2001
+From fe664c759cb79e130d35f6dd0236e9cb33320f70 Mon Sep 17 00:00:00 2001
From: TomLiu <tomml.liu@mediatek.com>
Date: Tue, 9 Aug 2022 10:23:44 -0700
-Subject: [PATCH 1/6] Add hostapd HEMU SET/GET control
+Subject: [PATCH 99913/99917] Add hostapd HEMU SET/GET control
---
hostapd/config_file.c | 9 +++
@@ -20,10 +20,10 @@
13 files changed, 251 insertions(+)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index c99e76d..afe0f0c 100644
+index 0ee8952..b22d10b 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -3698,6 +3698,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -3659,6 +3659,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
return 1;
}
bss->unsol_bcast_probe_resp_interval = val;
@@ -292,7 +292,7 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 5fe1d33..ef0ca18 100644
+index 9c2782c..73dee2e 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -12304,6 +12304,114 @@ fail:
@@ -446,5 +446,5 @@
}
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch b/recipes-wifi/wpa-supplicant/files/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
similarity index 96%
copy from recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
copy to recipes-wifi/wpa-supplicant/files/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
index c853b08..ca64eb8 100644
--- a/recipes-wifi/hostapd/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
@@ -1,7 +1,7 @@
-From f080902be233f0c28d205f62f737edabdb6b6aaa Mon Sep 17 00:00:00 2001
+From 4707ed85884be2ffe7860e28de80df5a6e479824 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 2/6] Add three wire PTA ctrl hostapd vendor command
+Subject: [PATCH 99914/99917] Add three wire PTA ctrl hostapd vendor command
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
---
@@ -19,10 +19,10 @@
11 files changed, 93 insertions(+)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index afe0f0c..a4875ee 100644
+index b22d10b..18b372a 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4836,6 +4836,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4794,6 +4794,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
return 1;
}
conf->edcca_compensation = (s8) val;
@@ -167,7 +167,7 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index ef0ca18..ec7b174 100644
+index 73dee2e..2bb8cc2 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -12637,6 +12637,38 @@ static int nl80211_get_edcca(void *priv, const u8 mode, u8 *value)
@@ -242,5 +242,5 @@
}
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch b/recipes-wifi/wpa-supplicant/files/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
similarity index 98%
rename from recipes-wifi/wpa-supplicant/files/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch
rename to recipes-wifi/wpa-supplicant/files/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
index eadaa63..a50cb9e 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
@@ -1,7 +1,7 @@
-From 1632fa308f5269dab803f94389026ae57d99375d Mon Sep 17 00:00:00 2001
+From e177f5069ff7e8f024676cf9d0e4af135cfea95b Mon Sep 17 00:00:00 2001
From: mtk27835 <shurong.wen@mediatek.com>
Date: Wed, 7 Sep 2022 14:41:51 -0700
-Subject: [PATCH 3/6] Add hostapd iBF control
+Subject: [PATCH 99915/99917] Add hostapd iBF control
Signed-off-by: mtk27835 <shurong.wen@mediatek.com>
---
@@ -21,10 +21,10 @@
13 files changed, 224 insertions(+), 1 deletion(-)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index a4875ee..6b3b88d 100644
+index 18b372a..d9d882c 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4840,6 +4840,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4798,6 +4798,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
u8 en = atoi(pos);
conf->three_wire_enable = en;
@@ -277,7 +277,7 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index ec7b174..00f9231 100644
+index 2bb8cc2..e974f85 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -12670,6 +12670,112 @@ static int nl80211_enable_three_wire(void *priv, const u8 three_wire_enable)
@@ -427,5 +427,5 @@
}
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch b/recipes-wifi/wpa-supplicant/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
deleted file mode 100644
index c853b08..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-From f080902be233f0c28d205f62f737edabdb6b6aaa 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 2/6] Add three wire PTA ctrl hostapd vendor command
-
-Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
----
- hostapd/config_file.c | 4 ++++
- src/ap/ap_config.c | 1 +
- src/ap/ap_config.h | 13 ++++++++++++
- src/ap/ap_drv_ops.c | 11 +++++++++++
- src/ap/ap_drv_ops.h | 1 +
- src/ap/hostapd.c | 2 ++
- src/common/mtk_vendor.h | 16 +++++++++++++++
- src/drivers/driver.h | 8 ++++++++
- src/drivers/driver_nl80211.c | 33 +++++++++++++++++++++++++++++++
- src/drivers/driver_nl80211.h | 1 +
- src/drivers/driver_nl80211_capa.c | 3 +++
- 11 files changed, 93 insertions(+)
-
-diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index afe0f0c..a4875ee 100644
---- a/hostapd/config_file.c
-+++ b/hostapd/config_file.c
-@@ -4836,6 +4836,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
- return 1;
- }
- conf->edcca_compensation = (s8) val;
-+ } else if (os_strcmp(buf, "three_wire_enable") == 0) {
-+ u8 en = atoi(pos);
-+
-+ conf->three_wire_enable = en;
- } else {
- wpa_printf(MSG_ERROR,
- "Line %d: unknown configuration item '%s'",
-diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
-index 0e1f192..9249a6b 100644
---- a/src/ap/ap_config.c
-+++ b/src/ap/ap_config.c
-@@ -297,6 +297,7 @@ struct hostapd_config * hostapd_config_defaults(void)
-
- conf->edcca_enable = EDCCA_MODE_AUTO;
- conf->edcca_compensation = EDCCA_DEFAULT_COMPENSATION;
-+ conf->three_wire_enable = THREE_WIRE_MODE_DISABLE;
-
- return conf;
- }
-diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 41b8c68..71cf515 100644
---- a/src/ap/ap_config.h
-+++ b/src/ap/ap_config.h
-@@ -1157,6 +1157,19 @@ struct hostapd_config {
- u8 edcca_enable;
- s8 edcca_compensation;
- int *edcca_threshold;
-+ u8 three_wire_enable;
-+};
-+
-+enum three_wire_mode {
-+ THREE_WIRE_MODE_DISABLE,
-+ THREE_WIRE_MODE_EXT0_ENABLE,
-+ THREE_WIRE_MODE_EXT1_ENABLE,
-+ THREE_WIRE_MODE_ALL_ENABLE,
-+
-+ /* keep last */
-+ NUM_THREE_WIRE_MODE,
-+ THREE_WIRE_MODE_MAX =
-+ NUM_THREE_WIRE_MODE - 1
- };
-
- enum edcca_mode {
-diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index 4598737..a1d83e4 100644
---- a/src/ap/ap_drv_ops.c
-+++ b/src/ap/ap_drv_ops.c
-@@ -1053,3 +1053,14 @@ int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff)
- return 0;
- return hapd->driver->hemu_dump(hapd->drv_priv, hemu_onoff);
- }
-+
-+int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd)
-+{
-+ if (!hapd->driver || !hapd->driver->three_wire_ctrl)
-+ return 0;
-+ if (hapd->iconf->three_wire_enable > THREE_WIRE_MODE_MAX) {
-+ wpa_printf(MSG_INFO, "Invalid value for three wire enable\n");
-+ return 0;
-+ }
-+ return hapd->driver->three_wire_ctrl(hapd->drv_priv, hapd->iconf->three_wire_enable);
-+}
-diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
-index bca39c5..5ba6297 100644
---- a/src/ap/ap_drv_ops.h
-+++ b/src/ap/ap_drv_ops.h
-@@ -144,6 +144,7 @@ int hostapd_drv_configure_edcca_threshold(struct hostapd_data *hapd,
- int hostapd_drv_get_edcca(struct hostapd_data *hapd, const u8 mode, u8 *value);
- int hostapd_drv_hemu_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff);
-+int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
-
- #include "drivers/driver.h"
-
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index 921769d..f9dabdf 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -2303,6 +2303,8 @@ dfs_offload:
- goto fail;
- if (hostapd_drv_hemu_ctrl(hapd) < 0)
- goto fail;
-+ if (hostapd_drv_three_wire_ctrl(hapd) < 0)
-+ goto fail;
-
- 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 69a46df..ee5a4f4 100644
---- a/src/common/mtk_vendor.h
-+++ b/src/common/mtk_vendor.h
-@@ -13,6 +13,7 @@ enum mtk_nl80211_vendor_subcmds {
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
- MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL= 0xc6,
- MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
-+ MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL = 0xc8
- };
-
- 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 },
- };
-
-+enum mtk_vendor_attr_3wire_ctrl {
-+ MTK_VENDOR_ATTR_3WIRE_CTRL_UNSPEC,
-+
-+ MTK_VENDOR_ATTR_3WIRE_CTRL_MODE,
-+
-+ /* keep last */
-+ NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL,
-+ MTK_VENDOR_ATTR_3WIRE_CTRL_MAX =
-+ NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL - 1
-+};
-+
-+static struct nla_policy three_wire_ctrl_policy[NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL] = {
-+ [MTK_VENDOR_ATTR_3WIRE_CTRL_MODE] = {.type = NLA_U8 },
-+};
-+
- enum mtk_vendor_attr_csi_ctrl {
- MTK_VENDOR_ATTR_CSI_CTRL_UNSPEC,
-
-diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index 4cd7505..9ca19af 100644
---- a/src/drivers/driver.h
-+++ b/src/drivers/driver.h
-@@ -4693,6 +4693,14 @@ struct wpa_driver_ops {
- */
- int (*hemu_ctrl)(void *priv, u8 hemu_onoff);
- int (*hemu_dump)(void *priv, u8 *hemu_onoff);
-+
-+ /**
-+ * three_wire_ctrl - set three_wire_ctrl mode
-+ * @priv: Private driver interface data
-+ * @three_wire_enable: three_wire_ctrl mode
-+ *
-+ */
-+ int (*three_wire_ctrl)(void *priv, u8 three_wire_enable);
- };
-
- /**
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index ef0ca18..ec7b174 100644
---- a/src/drivers/driver_nl80211.c
-+++ b/src/drivers/driver_nl80211.c
-@@ -12637,6 +12637,38 @@ static int nl80211_get_edcca(void *priv, const u8 mode, u8 *value)
- return ret;
- }
-
-+static int nl80211_enable_three_wire(void *priv, const u8 three_wire_enable)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ /* Prepare nl80211 cmd */
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ if (!drv->mtk_3wire_vendor_cmd_avail) {
-+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support setting three wire control");
-+ return 0;
-+ }
-+
-+ if (!(msg = nl80211_drv_msg(drv, 0, NL80211_CMD_VENDOR)) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD,
-+ MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL) ||
-+ !(data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA)) ||
-+ nla_put_u8(msg, MTK_VENDOR_ATTR_3WIRE_CTRL_MODE, three_wire_enable)) {
-+ nlmsg_free(msg);
-+ return -ENOBUFS;
-+ }
-+ nla_nest_end(msg, data);
-+ ret = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
-+ if (ret) {
-+ wpa_printf(MSG_ERROR, "Failed to enable three wire. ret=%d (%s) ",
-+ ret, strerror(-ret));
-+ }
-+ return ret;
-+}
-
- const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .name = "nl80211",
-@@ -12789,4 +12821,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,
-+ .three_wire_ctrl = nl80211_enable_three_wire,
- };
-diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h
-index 57f0249..9fe7811 100644
---- a/src/drivers/driver_nl80211.h
-+++ b/src/drivers/driver_nl80211.h
-@@ -183,6 +183,7 @@ struct wpa_driver_nl80211_data {
- unsigned int uses_6ghz:1;
- unsigned int mtk_edcca_vendor_cmd_avail:1;
- unsigned int mtk_hemu_vendor_cmd_avail:1;
-+ unsigned int mtk_3wire_vendor_cmd_avail:1;
-
- u64 vendor_scan_cookie;
- u64 remain_on_chan_cookie;
-diff --git a/src/drivers/driver_nl80211_capa.c b/src/drivers/driver_nl80211_capa.c
-index cc146d9..04bc54e 100644
---- a/src/drivers/driver_nl80211_capa.c
-+++ b/src/drivers/driver_nl80211_capa.c
-@@ -1059,6 +1059,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
- case MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL :
- drv->mtk_hemu_vendor_cmd_avail = 1;
- break;
-+ case MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL :
-+ drv->mtk_3wire_vendor_cmd_avail = 1;
-+ break;
- }
- }
-
---
-2.18.0
-
diff --git a/recipes-wifi/hostapd/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch b/recipes-wifi/wpa-supplicant/files/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
similarity index 85%
copy from recipes-wifi/hostapd/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
copy to recipes-wifi/wpa-supplicant/files/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
index 6544088..b1769a1 100644
--- a/recipes-wifi/hostapd/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
@@ -1,7 +1,7 @@
-From 52e2b550382387c45083982a900a9d6132710255 Mon Sep 17 00:00:00 2001
+From dbd8120e47621784647deb776bf4b4d0a97fb49e Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Thu, 22 Sep 2022 16:08:09 +0800
-Subject: [PATCH 99918/99920] Do not include HE capab IE if associated sta's HE
+Subject: [PATCH 99916/99917] Do not include HE capab IE if associated sta's HE
capab IE is invalid
---
@@ -23,5 +23,5 @@
p = hostapd_eid_he_operation(hapd, p);
p = hostapd_eid_cca(hapd, p);
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/hostapd/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch b/recipes-wifi/wpa-supplicant/files/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
similarity index 89%
copy from recipes-wifi/hostapd/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
copy to recipes-wifi/wpa-supplicant/files/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
index 4315be0..83eac6e 100644
--- a/recipes-wifi/hostapd/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
@@ -1,7 +1,7 @@
-From 5fd8ba4e856b94c8753a468b9e8a7dbece63cfec Mon Sep 17 00:00:00 2001
+From 80ecd3e0398aa668e683ff582a0594f88b290f44 Mon Sep 17 00:00:00 2001
From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Date: Fri, 7 Oct 2022 10:46:29 +0800
-Subject: [PATCH] Add DFS and ZWDFS support
+Subject: [PATCH 99917/99917] Add DFS and ZWDFS support
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
---
@@ -17,13 +17,13 @@
9 files changed, 186 insertions(+), 17 deletions(-)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 310f97d..a2ee418 100644
+index d9d882c..fd61448 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -4807,6 +4807,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
- return 1;
- }
- conf->amsdu = val;
+@@ -4801,6 +4801,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+ } else if (os_strcmp(buf, "ibf_enable") == 0) { /*ibf setting is per device*/
+ int val = atoi(pos);
+ conf->ibf_enable = !!val;
+ } else if (os_strcmp(buf, "dfs_detect_mode") == 0) { /*bypass channel switch*/
+ u8 en = strtol(pos, NULL, 10);
+
@@ -32,10 +32,10 @@
wpa_printf(MSG_ERROR,
"Line %d: unknown configuration item '%s'",
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 0c40175..296e42f 100644
+index c881d37..6ea1573 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
-@@ -3537,6 +3537,96 @@ hostapd_ctrl_iface_get_aggregation(struct hostapd_data *hapd, char *buf,
+@@ -3522,6 +3522,96 @@ hostapd_ctrl_iface_get_ibf(struct hostapd_data *hapd, char *buf,
}
@@ -132,10 +132,10 @@
static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
char *buf, char *reply,
int reply_size,
-@@ -4099,6 +4189,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4081,6 +4171,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+ reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
+ } else if (os_strncmp(buf, "GET_IBF", 7) == 0) {
reply_len = hostapd_ctrl_iface_get_ibf(hapd, reply, reply_size);
- } else if (os_strncmp(buf, "GET_AGGR", 8) == 0) {
- reply_len = hostapd_ctrl_iface_get_aggregation(hapd, reply, reply_size);
+ } else if (os_strncmp(buf, "DFS_DETECT_MODE ", 16) == 0) {
+ reply_len = hostapd_ctrl_iface_set_dfs_detect_mode(hapd, buf + 16,
+ reply, reply_size);
@@ -145,18 +145,18 @@
os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
reply_len = 16;
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 01b051d..f567c37 100644
+index 44a0e7e..3f5afdf 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
-@@ -1160,6 +1160,7 @@ struct hostapd_config {
+@@ -1159,6 +1159,7 @@ struct hostapd_config {
+ int *edcca_threshold;
+ u8 three_wire_enable;
u8 ibf_enable;
- u8 ampdu;
- u8 amsdu;
+ u8 dfs_detect_mode;
};
enum three_wire_mode {
-@@ -1174,6 +1175,18 @@ enum three_wire_mode {
+@@ -1173,6 +1174,18 @@ enum three_wire_mode {
NUM_THREE_WIRE_MODE - 1
};
@@ -282,7 +282,7 @@
#endif /* DFS_H */
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index 5fc998e..ed1dfdb 100644
+index e44b73d..793ce2f 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -1463,7 +1463,9 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
@@ -297,13 +297,13 @@
if (flush_old_stations && !conf->start_disabled &&
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index e34903b..6ad6d84 100644
+index 71ded61..aa23fbd 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
-@@ -4722,6 +4722,13 @@ struct wpa_driver_ops {
- int (*ampdu_ctrl)(void *priv, u8 ampdu);
- int (*amsdu_ctrl)(void *priv, u8 amsdu);
- int (*aggregation_dump)(void *priv, u8 *aggr);
+@@ -4720,6 +4720,13 @@ struct wpa_driver_ops {
+ *
+ */
+ int (*ibf_dump)(void *priv, u8 *ibf_enable);
+
+ /**
+ * start_disabled - set start_disabled to cfg80211
@@ -315,10 +315,10 @@
/**
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index a06ac58..af064c0 100644
+index e974f85..003adc4 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
-@@ -12812,6 +12812,34 @@ fail:
+@@ -12776,6 +12776,34 @@ fail:
return -ENOBUFS;
}
@@ -353,10 +353,10 @@
const struct wpa_driver_ops wpa_driver_nl80211_ops = {
.name = "nl80211",
.desc = "Linux nl80211/cfg80211",
-@@ -12967,4 +12995,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .ampdu_ctrl = nl80211_enable_ampdu,
- .amsdu_ctrl = nl80211_enable_amsdu,
- .aggregation_dump = nl80211_dump_aggregation,
+@@ -12930,4 +12958,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+ .three_wire_ctrl = nl80211_enable_three_wire,
+ .ibf_ctrl = nl80211_ibf_enable,
+ .ibf_dump = nl80211_ibf_dump,
+ .start_disabled = nl80211_start_disabled,
};
diff --git a/src/drivers/nl80211_copy.h b/src/drivers/nl80211_copy.h
@@ -372,5 +372,5 @@
__NL80211_ATTR_AFTER_LAST,
NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
--
-2.18.0
+2.36.1
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch b/recipes-wifi/wpa-supplicant/files/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch
deleted file mode 100644
index 796dc3f..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch
+++ /dev/null
@@ -1,482 +0,0 @@
-From 32816f9bf56aeff95ddfe4a735028bee0d552f4d Mon Sep 17 00:00:00 2001
-From: TomLiu <tomml.liu@mediatek.com>
-Date: Wed, 21 Sep 2022 15:14:11 -0700
-Subject: [PATCH 4/6] add hostapd AMPDU and AMSDU control command
-
----
- hostapd/config_file.c | 18 ++++
- hostapd/ctrl_iface.c | 44 ++++++++
- hostapd/hostapd_cli.c | 9 ++
- src/ap/ap_config.c | 2 +
- src/ap/ap_config.h | 2 +
- src/ap/ap_drv_ops.c | 23 ++++-
- src/ap/ap_drv_ops.h | 3 +
- src/ap/hostapd.c | 4 +
- src/common/mtk_vendor.h | 18 ++++
- src/drivers/driver.h | 11 ++
- src/drivers/driver_nl80211.c | 160 ++++++++++++++++++++++++++++++
- src/drivers/driver_nl80211.h | 1 +
- src/drivers/driver_nl80211_capa.c | 3 +
- 13 files changed, 297 insertions(+), 1 deletion(-)
-
-diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 6b3b88d..9660543 100644
---- a/hostapd/config_file.c
-+++ b/hostapd/config_file.c
-@@ -4843,6 +4843,24 @@ static int hostapd_config_fill(struct hostapd_config *conf,
- } else if (os_strcmp(buf, "ibf_enable") == 0) { /*ibf setting is per device*/
- int val = atoi(pos);
- conf->ibf_enable = !!val;
-+ } else if (os_strcmp(buf, "ampdu") == 0) {
-+ int val = atoi(pos);
-+ if (val < 0 || val > 1) {
-+ wpa_printf(MSG_ERROR,
-+ "Line %d: invalid ampdu value",
-+ line);
-+ return 1;
-+ }
-+ conf->ampdu = val;
-+ } else if (os_strcmp(buf, "amsdu") == 0) {
-+ int val = atoi(pos);
-+ if (val < 0 || val > 1) {
-+ wpa_printf(MSG_ERROR,
-+ "Line %d: invalid amsdu value",
-+ line);
-+ return 1;
-+ }
-+ conf->amsdu = val;
- } else {
- wpa_printf(MSG_ERROR,
- "Line %d: unknown configuration item '%s'",
-diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index c881d37..e51488e 100644
---- a/hostapd/ctrl_iface.c
-+++ b/hostapd/ctrl_iface.c
-@@ -3522,6 +3522,48 @@ hostapd_ctrl_iface_get_ibf(struct hostapd_data *hapd, char *buf,
- }
-
-
-+static int
-+hostapd_ctrl_iface_get_aggregation(struct hostapd_data *hapd, char *buf,
-+ size_t buflen)
-+{
-+ u8 aggr;
-+ int ret;
-+ char *pos, *end;
-+
-+ pos = buf;
-+ end = buf + buflen;
-+
-+ if (hostapd_drv_aggregation_dump(hapd, &aggr) == 0) {
-+ if (aggr == 0) {
-+ hapd->iconf->ampdu = 0;
-+ hapd->iconf->amsdu = 0;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU disabled\n",
-+ hapd->iconf->ampdu);
-+ } else if (aggr == 1) {
-+ hapd->iconf->ampdu = 0;
-+ hapd->iconf->amsdu = 1;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU disabled\n",
-+ hapd->iconf->ampdu);
-+ } else if (aggr == 2) {
-+ hapd->iconf->ampdu = 1;
-+ hapd->iconf->amsdu = 0;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU: %u\n",
-+ hapd->iconf->ampdu, hapd->iconf->amsdu);
-+ } else if (aggr == 3) {
-+ hapd->iconf->ampdu = 1;
-+ hapd->iconf->amsdu = 1;
-+ ret = os_snprintf(pos, end - pos, "[hostapd_cli] AMPDU: %u, AMSDU: %u\n",
-+ hapd->iconf->ampdu, hapd->iconf->amsdu);
-+ }
-+ }
-+
-+ if (os_snprintf_error(end - pos, ret))
-+ return 0;
-+
-+ return ret;
-+}
-+
-+
- static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
- char *buf, char *reply,
- int reply_size,
-@@ -4081,6 +4123,8 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
- reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
- } else if (os_strncmp(buf, "GET_IBF", 7) == 0) {
- reply_len = hostapd_ctrl_iface_get_ibf(hapd, reply, reply_size);
-+ } else if (os_strncmp(buf, "GET_AGGR", 8) == 0) {
-+ reply_len = hostapd_ctrl_iface_get_aggregation(hapd, reply, reply_size);
- } else {
- os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
- reply_len = 16;
-diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
-index c2a123a..9a5a6b1 100644
---- a/hostapd/hostapd_cli.c
-+++ b/hostapd/hostapd_cli.c
-@@ -1593,6 +1593,13 @@ static int hostapd_cli_cmd_get_ibf(struct wpa_ctrl *ctrl, int argc,
- }
-
-
-+static int hostapd_cli_cmd_get_aggregation(struct wpa_ctrl *ctrl, int argc,
-+ char *argv[])
-+{
-+ return hostapd_cli_cmd(ctrl, "GET_AGGR", 0, NULL, NULL);
-+}
-+
-+
- struct hostapd_cli_cmd {
- const char *cmd;
- int (*handler)(struct wpa_ctrl *ctrl, int argc, char *argv[]);
-@@ -1796,6 +1803,8 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
- "<tx type(0/1/2)> <interval> = runtime set inband discovery" },
- { "get_ibf", hostapd_cli_cmd_get_ibf, NULL,
- " = show iBF state (enabled/disabled)"},
-+ { "get_aggr", hostapd_cli_cmd_get_aggregation, NULL,
-+ " = show AMPDU and AMSDU state"},
- { NULL, NULL, NULL, NULL }
- };
-
-diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
-index 7a96cb8..3ce8217 100644
---- a/src/ap/ap_config.c
-+++ b/src/ap/ap_config.c
-@@ -299,6 +299,8 @@ struct hostapd_config * hostapd_config_defaults(void)
- conf->edcca_compensation = EDCCA_DEFAULT_COMPENSATION;
- conf->three_wire_enable = THREE_WIRE_MODE_DISABLE;
- conf->ibf_enable = IBF_DEFAULT_ENABLE;
-+ conf->ampdu = 1;
-+ conf->amsdu = 1;
-
- return conf;
- }
-diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 44a0e7e..3e73236 100644
---- a/src/ap/ap_config.h
-+++ b/src/ap/ap_config.h
-@@ -1159,6 +1159,8 @@ struct hostapd_config {
- int *edcca_threshold;
- u8 three_wire_enable;
- u8 ibf_enable;
-+ u8 ampdu;
-+ u8 amsdu;
- };
-
- enum three_wire_mode {
-diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index 60ae825..5d07272 100644
---- a/src/ap/ap_drv_ops.c
-+++ b/src/ap/ap_drv_ops.c
-@@ -1077,4 +1077,25 @@ int hostapd_drv_ibf_dump(struct hostapd_data *hapd, u8 *ibf_enable)
- if (!hapd->driver || !hapd->driver->ibf_dump)
- return 0;
- return hapd->driver->ibf_dump(hapd->drv_priv, ibf_enable);
--}
-\ No newline at end of file
-+}
-+
-+int hostapd_drv_ampdu_ctrl(struct hostapd_data *hapd)
-+{
-+ if (!hapd->driver || !hapd->driver->ampdu_ctrl)
-+ return 0;
-+ return hapd->driver->ampdu_ctrl(hapd->drv_priv, hapd->iconf->ampdu);
-+}
-+
-+int hostapd_drv_amsdu_ctrl(struct hostapd_data *hapd)
-+{
-+ if (!hapd->driver || !hapd->driver->amsdu_ctrl)
-+ return 0;
-+ return hapd->driver->amsdu_ctrl(hapd->drv_priv, hapd->iconf->amsdu);
-+}
-+
-+int hostapd_drv_aggregation_dump(struct hostapd_data *hapd, u8 *aggr)
-+{
-+ if (!hapd->driver || !hapd->driver->aggregation_dump)
-+ return 0;
-+ return hapd->driver->aggregation_dump(hapd->drv_priv, aggr);
-+}
-diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
-index ab9aedc..4c1c201 100644
---- a/src/ap/ap_drv_ops.h
-+++ b/src/ap/ap_drv_ops.h
-@@ -147,6 +147,9 @@ int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff);
- int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_ibf_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_ibf_dump(struct hostapd_data *hapd, u8 *ibf_enable);
-+int hostapd_drv_ampdu_ctrl(struct hostapd_data *hapd);
-+int hostapd_drv_amsdu_ctrl(struct hostapd_data *hapd);
-+int hostapd_drv_aggregation_dump(struct hostapd_data *hapd, u8 *aggr);
-
- #include "drivers/driver.h"
-
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index e44b73d..60bd6f3 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -2307,6 +2307,10 @@ dfs_offload:
- goto fail;
- if (hostapd_drv_ibf_ctrl(hapd) < 0)
- goto fail;
-+ if (hostapd_drv_ampdu_ctrl(hapd) < 0)
-+ goto fail;
-+ if (hostapd_drv_amsdu_ctrl(hapd) < 0)
-+ goto fail;
-
- 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 4050cf8..d78e538 100644
---- a/src/common/mtk_vendor.h
-+++ b/src/common/mtk_vendor.h
-@@ -177,6 +177,24 @@ enum mtk_vendor_attr_wireless_ctrl {
- NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL - 1
- };
-
-+enum mtk_vendor_attr_wireless_dump {
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_UNSPEC,
-+
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU,
-+
-+ /* keep last */
-+ NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP,
-+ MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX =
-+ NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP - 1
-+};
-+
-+static const struct nla_policy
-+wireless_dump_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP] = {
-+ [MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU] = { .type = NLA_U8 },
-+ [MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU] = { .type = NLA_U8 },
-+};
-+
- enum mtk_vendor_attr_rfeature_ctrl {
- MTK_VENDOR_ATTR_RFEATURE_CTRL_UNSPEC,
-
-diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index 71ded61..57f3be6 100644
---- a/src/drivers/driver.h
-+++ b/src/drivers/driver.h
-@@ -4720,6 +4720,17 @@ struct wpa_driver_ops {
- *
- */
- int (*ibf_dump)(void *priv, u8 *ibf_enable);
-+
-+ /**
-+ * ampdu_ctrl - enable/disable ampdu
-+ * amsdu_ctrl - enable/disable amsdu
-+ * aggregation_dump - get current ampdu and amsdu status
-+ * @priv: Private driver interface data
-+ *
-+ */
-+ int (*ampdu_ctrl)(void *priv, u8 ampdu);
-+ int (*amsdu_ctrl)(void *priv, u8 amsdu);
-+ int (*aggregation_dump)(void *priv, u8 *aggr);
- };
-
- /**
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 00f9231..07dac13 100644
---- a/src/drivers/driver_nl80211.c
-+++ b/src/drivers/driver_nl80211.c
-@@ -12776,6 +12776,163 @@ fail:
- return -ENOBUFS;
- }
-
-+static int nl80211_enable_ampdu(void *priv, u8 ampdu)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ if (!drv->mtk_wireless_vendor_cmd_avail) {
-+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support setting ap wireless control");
-+ return 0;
-+ }
-+
-+ msg = nl80211_drv_msg(drv, 0, NL80211_CMD_VENDOR);
-+ if (!msg)
-+ goto fail;
-+
-+ if (nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL))
-+ goto fail;
-+
-+ data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA);
-+ if (!data)
-+ goto fail;
-+
-+ nla_put_u8(msg, MTK_VENDOR_ATTR_WIRELESS_CTRL_AMPDU, ampdu);
-+
-+ nla_nest_end(msg, data);
-+ ret = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
-+ if (ret) {
-+ wpa_printf(MSG_ERROR, "Failed to set ampdu. ret=%d (%s)", ret, strerror(-ret));
-+ }
-+
-+ return ret;
-+
-+fail:
-+ nlmsg_free(msg);
-+ return -ENOBUFS;
-+}
-+
-+static int nl80211_enable_amsdu(void *priv, u8 amsdu)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ if (!drv->mtk_wireless_vendor_cmd_avail) {
-+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support setting ap wireless control");
-+ return 0;
-+ }
-+
-+ msg = nl80211_drv_msg(drv, 0, NL80211_CMD_VENDOR);
-+ if (!msg)
-+ goto fail;
-+
-+ if (nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL))
-+ goto fail;
-+
-+ data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA);
-+ if (!data)
-+ goto fail;
-+
-+ nla_put_u8(msg, MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU, amsdu);
-+
-+ nla_nest_end(msg, data);
-+ ret = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
-+ if (ret) {
-+ wpa_printf(MSG_ERROR, "Failed to set amsdu. ret=%d (%s)", ret, strerror(-ret));
-+ }
-+
-+ return ret;
-+
-+fail:
-+ nlmsg_free(msg);
-+ return -ENOBUFS;
-+}
-+
-+static int dump_aggregation_handler(struct nl_msg *msg, void *arg)
-+{
-+ u8 ampdu, amsdu;
-+ u8 *aggr = (u8 *) arg;
-+ struct nlattr *tb[NL80211_ATTR_MAX + 1];
-+ struct nlattr *tb_vendor[MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX + 1];
-+ struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
-+ struct nlattr *nl_vend, *attr_ampdu, *attr_amsdu;
-+
-+ nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
-+ genlmsg_attrlen(gnlh, 0), NULL);
-+
-+ nl_vend = tb[NL80211_ATTR_VENDOR_DATA];
-+ if (!nl_vend)
-+ return NL_SKIP;
-+
-+ nla_parse(tb_vendor, MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX,
-+ nla_data(nl_vend), nla_len(nl_vend), NULL);
-+
-+ attr_ampdu = tb_vendor[MTK_VENDOR_ATTR_WIRELESS_DUMP_AMPDU];
-+ attr_amsdu = tb_vendor[MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU];
-+ if (!attr_ampdu || !attr_amsdu ){
-+ wpa_printf(MSG_ERROR, "nl80211: cannot find vendor attributes");
-+ return NL_SKIP;
-+ }
-+
-+ ampdu = nla_get_u8(attr_ampdu);
-+ amsdu = nla_get_u8(attr_amsdu);
-+
-+ *aggr = (ampdu<<1) + amsdu;
-+ return NL_SKIP;
-+}
-+
-+static int
-+nl80211_dump_aggregation(void *priv, u8 *aggr)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ if (!drv->mtk_wireless_vendor_cmd_avail) {
-+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support ap_wireless control");
-+ return 0;
-+ }
-+
-+ msg = nl80211_drv_msg(drv, NLM_F_DUMP, NL80211_CMD_VENDOR);
-+ if (!msg)
-+ goto fail;
-+
-+ if (nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL))
-+ goto fail;
-+
-+ data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA);
-+ if (!data)
-+ goto fail;
-+
-+ nla_nest_end(msg, data);
-+
-+ ret = send_and_recv_msgs(drv, msg, dump_aggregation_handler, aggr, NULL, NULL);
-+
-+ if (ret) {
-+ wpa_printf(MSG_ERROR, "Failed to dump aggregation. ret=%d (%s)", ret, strerror(-ret));
-+ }
-+
-+ return ret;
-+
-+fail:
-+ nlmsg_free(msg);
-+ return -ENOBUFS;
-+}
-+
- const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .name = "nl80211",
- .desc = "Linux nl80211/cfg80211",
-@@ -12930,4 +13087,7 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .three_wire_ctrl = nl80211_enable_three_wire,
- .ibf_ctrl = nl80211_ibf_enable,
- .ibf_dump = nl80211_ibf_dump,
-+ .ampdu_ctrl = nl80211_enable_ampdu,
-+ .amsdu_ctrl = nl80211_enable_amsdu,
-+ .aggregation_dump = nl80211_dump_aggregation,
- };
-diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h
-index 607592c..e570224 100644
---- a/src/drivers/driver_nl80211.h
-+++ b/src/drivers/driver_nl80211.h
-@@ -185,6 +185,7 @@ struct wpa_driver_nl80211_data {
- unsigned int mtk_hemu_vendor_cmd_avail:1;
- unsigned int mtk_3wire_vendor_cmd_avail:1;
- unsigned int mtk_ibf_vendor_cmd_avail:1;
-+ unsigned int mtk_wireless_vendor_cmd_avail:1;
-
- u64 vendor_scan_cookie;
- u64 remain_on_chan_cookie;
-diff --git a/src/drivers/driver_nl80211_capa.c b/src/drivers/driver_nl80211_capa.c
-index 9ecc0ff..fcfa68b 100644
---- a/src/drivers/driver_nl80211_capa.c
-+++ b/src/drivers/driver_nl80211_capa.c
-@@ -1065,6 +1065,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
- case MTK_NL80211_VENDOR_SUBCMD_IBF_CTRL:
- drv->mtk_ibf_vendor_cmd_avail = 1;
- break;
-+ case MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL:
-+ drv->mtk_wireless_vendor_cmd_avail = 1;
-+ break;
- }
- }
-
---
-2.18.0
-
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch b/recipes-wifi/wpa-supplicant/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
deleted file mode 100644
index 6544088..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 52e2b550382387c45083982a900a9d6132710255 Mon Sep 17 00:00:00 2001
-From: Howard Hsu <howard-yh.hsu@mediatek.com>
-Date: Thu, 22 Sep 2022 16:08:09 +0800
-Subject: [PATCH 99918/99920] Do not include HE capab IE if associated sta's HE
- capab IE is invalid
-
----
- src/ap/ieee802_11.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index d921783..098793e 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -5192,7 +5192,8 @@ static u16 send_assoc_resp(struct hostapd_data *hapd, struct sta_info *sta,
- #endif /* CONFIG_IEEE80211AC */
-
- #ifdef CONFIG_IEEE80211AX
-- if (hapd->iconf->ieee80211ax && !hapd->conf->disable_11ax) {
-+ if (hapd->iconf->ieee80211ax && !hapd->conf->disable_11ax &&
-+ sta->flags & WLAN_STA_HE) {
- p = hostapd_eid_he_capab(hapd, p, IEEE80211_MODE_AP);
- p = hostapd_eid_he_operation(hapd, p);
- p = hostapd_eid_cca(hapd, p);
---
-2.18.0
-
diff --git a/recipes-wifi/wpa-supplicant/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch b/recipes-wifi/wpa-supplicant/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
deleted file mode 100644
index 4315be0..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
+++ /dev/null
@@ -1,376 +0,0 @@
-From 5fd8ba4e856b94c8753a468b9e8a7dbece63cfec Mon Sep 17 00:00:00 2001
-From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
-Date: Fri, 7 Oct 2022 10:46:29 +0800
-Subject: [PATCH] Add DFS and ZWDFS support
-
-Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
----
- hostapd/config_file.c | 4 ++
- hostapd/ctrl_iface.c | 95 ++++++++++++++++++++++++++++++++++++
- src/ap/ap_config.h | 13 +++++
- src/ap/dfs.c | 35 +++++++------
- src/ap/dfs.h | 15 ++++++
- src/ap/hostapd.c | 4 +-
- src/drivers/driver.h | 7 +++
- src/drivers/driver_nl80211.c | 29 +++++++++++
- src/drivers/nl80211_copy.h | 1 +
- 9 files changed, 186 insertions(+), 17 deletions(-)
-
-diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 310f97d..a2ee418 100644
---- a/hostapd/config_file.c
-+++ b/hostapd/config_file.c
-@@ -4807,6 +4807,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
- return 1;
- }
- conf->amsdu = val;
-+ } else if (os_strcmp(buf, "dfs_detect_mode") == 0) { /*bypass channel switch*/
-+ u8 en = strtol(pos, NULL, 10);
-+
-+ conf->dfs_detect_mode = en;
- } else {
- wpa_printf(MSG_ERROR,
- "Line %d: unknown configuration item '%s'",
-diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 0c40175..296e42f 100644
---- a/hostapd/ctrl_iface.c
-+++ b/hostapd/ctrl_iface.c
-@@ -3537,6 +3537,96 @@ hostapd_ctrl_iface_get_aggregation(struct hostapd_data *hapd, char *buf,
- }
-
-
-+static int
-+hostapd_ctrl_iface_set_dfs_detect_mode(struct hostapd_data *hapd, char *value,
-+ char *buf, size_t buflen)
-+{
-+ u8 dfs_detect_mode;
-+
-+ if (!value)
-+ return -1;
-+
-+ dfs_detect_mode = strtol(value, NULL, 10);
-+ if (dfs_detect_mode > DFS_DETECT_MODE_MAX) {
-+ wpa_printf(MSG_ERROR, "Invalid value for dfs detect mode");
-+ return -1;
-+ }
-+ hapd->iconf->dfs_detect_mode = dfs_detect_mode;
-+
-+ return os_snprintf(buf, buflen, "OK\n");
-+}
-+
-+
-+static int
-+hostapd_ctrl_iface_set_offchan_ctrl(struct hostapd_data *hapd, char *cmd,
-+ char *buf, size_t buflen)
-+{
-+ struct hostapd_iface *iface = hapd->iface;
-+ char *pos, *param;
-+ enum hostapd_hw_mode hw_mode;
-+ bool chan_found = false;
-+ int i, num_available_chandefs, channel, chan_width, sec = 0;
-+ int sec_chan_idx_80p80 = -1;
-+ u8 oper_centr_freq_seg0_idx, oper_centr_freq_seg1_idx;
-+ struct hostapd_channel_data *chan;
-+ enum dfs_channel_type type = DFS_NO_CAC_YET;
-+
-+ param = os_strchr(cmd, ' ');
-+ if (!param)
-+ return -1;
-+ *param++ = '\0';
-+
-+ pos = os_strstr(param, "chan=");
-+ if (pos)
-+ channel = strtol(pos + 5, NULL, 10);
-+ else
-+ return -1;
-+
-+ num_available_chandefs = dfs_find_channel(iface, NULL, 0, type);
-+ for (i = 0; i < num_available_chandefs; i++) {
-+ dfs_find_channel(iface, &chan, i, type);
-+ if (chan->chan == channel) {
-+ chan_found = true;
-+ break;
-+ }
-+ }
-+
-+ if (!chan_found)
-+ return -1;
-+
-+ if (iface->conf->secondary_channel)
-+ sec = 1;
-+
-+ dfs_adjust_center_freq(iface, chan,
-+ sec,
-+ sec_chan_idx_80p80,
-+ &oper_centr_freq_seg0_idx,
-+ &oper_centr_freq_seg1_idx);
-+
-+ if (hostapd_start_dfs_cac(iface, iface->conf->hw_mode,
-+ chan->freq, chan->chan,
-+ iface->conf->ieee80211n,
-+ iface->conf->ieee80211ac,
-+ iface->conf->ieee80211ax,
-+ iface->conf->ieee80211be,
-+ sec, hostapd_get_oper_chwidth(iface->conf),
-+ oper_centr_freq_seg0_idx,
-+ oper_centr_freq_seg1_idx, true)) {
-+ wpa_printf(MSG_ERROR, "DFS failed to start CAC offchannel");
-+ iface->radar_background.channel = -1;
-+ return -1;
-+ }
-+
-+ iface->radar_background.channel = chan->chan;
-+ iface->radar_background.freq = chan->freq;
-+ iface->radar_background.secondary_channel = sec;
-+ iface->radar_background.centr_freq_seg0_idx = oper_centr_freq_seg0_idx;
-+ iface->radar_background.centr_freq_seg1_idx = oper_centr_freq_seg1_idx;
-+
-+ return os_snprintf(buf, buflen, "OK\n");
-+}
-+
-+
- static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
- char *buf, char *reply,
- int reply_size,
-@@ -4099,6 +4189,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
- reply_len = hostapd_ctrl_iface_get_ibf(hapd, reply, reply_size);
- } else if (os_strncmp(buf, "GET_AGGR", 8) == 0) {
- reply_len = hostapd_ctrl_iface_get_aggregation(hapd, reply, reply_size);
-+ } else if (os_strncmp(buf, "DFS_DETECT_MODE ", 16) == 0) {
-+ reply_len = hostapd_ctrl_iface_set_dfs_detect_mode(hapd, buf + 16,
-+ reply, reply_size);
-+ } else if (os_strncmp(buf, "SET_OFFCHAN_CTRL", 16) == 0) {
-+ reply_len = hostapd_ctrl_iface_set_offchan_ctrl(hapd, buf + 16, reply, reply_size);
- } else {
- os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
- reply_len = 16;
-diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 01b051d..f567c37 100644
---- a/src/ap/ap_config.h
-+++ b/src/ap/ap_config.h
-@@ -1160,6 +1160,7 @@ struct hostapd_config {
- u8 ibf_enable;
- u8 ampdu;
- u8 amsdu;
-+ u8 dfs_detect_mode;
- };
-
- enum three_wire_mode {
-@@ -1174,6 +1175,18 @@ enum three_wire_mode {
- NUM_THREE_WIRE_MODE - 1
- };
-
-+enum dfs_mode {
-+ DFS_DETECT_MODE_DISABLE,
-+ DFS_DETECT_MODE_AP_ENABLE,
-+ DFS_DETECT_MODE_BACKGROUND_ENABLE,
-+ DFS_DETECT_MODE_ALL_ENABLE,
-+
-+ /* keep last */
-+ NUM_DFS_DETECT_MODE,
-+ DFS_DETECT_MODE_MAX =
-+ NUM_DFS_DETECT_MODE - 1
-+};
-+
- enum edcca_mode {
- EDCCA_MODE_FORCE_DISABLE = 0,
- EDCCA_MODE_AUTO = 1,
-diff --git a/src/ap/dfs.c b/src/ap/dfs.c
-index b5d105d..1c3f678 100644
---- a/src/ap/dfs.c
-+++ b/src/ap/dfs.c
-@@ -19,13 +19,6 @@
- #include "dfs.h"
- #include "crypto/crypto.h"
-
--
--enum dfs_channel_type {
-- DFS_ANY_CHANNEL,
-- DFS_AVAILABLE, /* non-radar or radar-available */
-- DFS_NO_CAC_YET, /* radar-not-yet-available */
--};
--
- static struct hostapd_channel_data *
- dfs_downgrade_bandwidth(struct hostapd_iface *iface, int *secondary_channel,
- u8 *oper_centr_freq_seg0_idx,
-@@ -238,9 +231,9 @@ static int is_in_chanlist(struct hostapd_iface *iface,
- * - hapd->vht/he_oper_centr_freq_seg0_idx
- * - hapd->vht/he_oper_centr_freq_seg1_idx
- */
--static int dfs_find_channel(struct hostapd_iface *iface,
-- struct hostapd_channel_data **ret_chan,
-- int idx, enum dfs_channel_type type)
-+int dfs_find_channel(struct hostapd_iface *iface,
-+ struct hostapd_channel_data **ret_chan,
-+ int idx, enum dfs_channel_type type)
- {
- struct hostapd_hw_modes *mode;
- struct hostapd_channel_data *chan;
-@@ -299,12 +292,12 @@ static int dfs_find_channel(struct hostapd_iface *iface,
- }
-
-
--static void dfs_adjust_center_freq(struct hostapd_iface *iface,
-- struct hostapd_channel_data *chan,
-- int secondary_channel,
-- int sec_chan_idx_80p80,
-- u8 *oper_centr_freq_seg0_idx,
-- u8 *oper_centr_freq_seg1_idx)
-+void dfs_adjust_center_freq(struct hostapd_iface *iface,
-+ struct hostapd_channel_data *chan,
-+ int secondary_channel,
-+ int sec_chan_idx_80p80,
-+ u8 *oper_centr_freq_seg0_idx,
-+ u8 *oper_centr_freq_seg1_idx)
- {
- if (!iface->conf->ieee80211ac && !iface->conf->ieee80211ax)
- return;
-@@ -1317,6 +1310,11 @@ hostapd_dfs_background_start_channel_switch(struct hostapd_iface *iface,
- __func__, iface->radar_background.cac_started ? "yes" : "no",
- hostapd_csa_in_progress(iface) ? "yes" : "no");
-
-+ /* Skip channel switch when background dfs detect mode is on */
-+ if (iface->conf->dfs_detect_mode == DFS_DETECT_MODE_BACKGROUND_ENABLE ||
-+ iface->conf->dfs_detect_mode == DFS_DETECT_MODE_ALL_ENABLE)
-+ return 0;
-+
- /* Check if CSA in progress */
- if (hostapd_csa_in_progress(iface))
- return 0;
-@@ -1365,6 +1363,11 @@ static int hostapd_dfs_start_channel_switch(struct hostapd_iface *iface)
- __func__, iface->cac_started ? "yes" : "no",
- hostapd_csa_in_progress(iface) ? "yes" : "no");
-
-+ /* Skip channel switch when dfs detect mode is on */
-+ if (iface->conf->dfs_detect_mode == DFS_DETECT_MODE_AP_ENABLE ||
-+ iface->conf->dfs_detect_mode == DFS_DETECT_MODE_ALL_ENABLE)
-+ return 0;
-+
- /* Check if CSA in progress */
- if (hostapd_csa_in_progress(iface))
- return 0;
-diff --git a/src/ap/dfs.h b/src/ap/dfs.h
-index 606c1b3..c2556d2 100644
---- a/src/ap/dfs.h
-+++ b/src/ap/dfs.h
-@@ -9,6 +9,12 @@
- #ifndef DFS_H
- #define DFS_H
-
-+enum dfs_channel_type {
-+ DFS_ANY_CHANNEL,
-+ DFS_AVAILABLE, /* non-radar or radar-available */
-+ DFS_NO_CAC_YET, /* radar-not-yet-available */
-+};
-+
- int hostapd_handle_dfs(struct hostapd_iface *iface);
-
- int hostapd_dfs_complete_cac(struct hostapd_iface *iface, int success, int freq,
-@@ -32,5 +38,14 @@ int hostapd_dfs_start_cac(struct hostapd_iface *iface, int freq,
- int hostapd_handle_dfs_offload(struct hostapd_iface *iface);
- int hostapd_is_dfs_overlap(struct hostapd_iface *iface, enum chan_width width,
- int center_freq);
-+int dfs_find_channel(struct hostapd_iface *iface,
-+ struct hostapd_channel_data **ret_chan,
-+ int idx, enum dfs_channel_type type);
-+void dfs_adjust_center_freq(struct hostapd_iface *iface,
-+ struct hostapd_channel_data *chan,
-+ int secondary_channel,
-+ int sec_chan_idx_80p80,
-+ u8 *oper_centr_freq_seg0_idx,
-+ u8 *oper_centr_freq_seg1_idx);
-
- #endif /* DFS_H */
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index 5fc998e..ed1dfdb 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -1463,7 +1463,9 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
- return -1;
- }
-
-- if (!conf->start_disabled && ieee802_11_set_beacon(hapd) < 0)
-+ if (conf->start_disabled)
-+ hapd->driver->start_disabled(hapd->drv_priv);
-+ else if (ieee802_11_set_beacon(hapd) < 0)
- return -1;
-
- if (flush_old_stations && !conf->start_disabled &&
-diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index e34903b..6ad6d84 100644
---- a/src/drivers/driver.h
-+++ b/src/drivers/driver.h
-@@ -4722,6 +4722,13 @@ struct wpa_driver_ops {
- int (*ampdu_ctrl)(void *priv, u8 ampdu);
- int (*amsdu_ctrl)(void *priv, u8 amsdu);
- int (*aggregation_dump)(void *priv, u8 *aggr);
-+
-+ /**
-+ * start_disabled - set start_disabled to cfg80211
-+ * @priv: Private driver interface data
-+ *
-+ */
-+ int (*start_disabled)(void *priv);
- };
-
- /**
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index a06ac58..af064c0 100644
---- a/src/drivers/driver_nl80211.c
-+++ b/src/drivers/driver_nl80211.c
-@@ -12812,6 +12812,34 @@ fail:
- return -ENOBUFS;
- }
-
-+static int nl80211_start_disabled(void *priv)
-+{
-+ struct i802_bss *bss = priv;
-+ struct wpa_driver_nl80211_data *drv = bss->drv;
-+ struct nl_msg *msg;
-+ struct nlattr *data;
-+ int ret;
-+
-+ msg = nl80211_bss_msg(bss, 0, NL80211_CMD_NEW_BEACON);
-+ if (!msg)
-+ goto fail;
-+
-+ if (nla_put_flag(msg, NL80211_ATTR_START_DISABLED))
-+ goto fail;
-+
-+ ret = send_and_recv_msgs_connect_handle(drv, msg, bss, 1);
-+
-+ if (ret)
-+ wpa_printf(MSG_ERROR, "Failed to set start_disabled. ret=%d (%s)",
-+ ret, strerror(-ret));
-+
-+ return ret;
-+
-+fail:
-+ nlmsg_free(msg);
-+ return ret;
-+}
-+
- const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .name = "nl80211",
- .desc = "Linux nl80211/cfg80211",
-@@ -12967,4 +12995,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
- .ampdu_ctrl = nl80211_enable_ampdu,
- .amsdu_ctrl = nl80211_enable_amsdu,
- .aggregation_dump = nl80211_dump_aggregation,
-+ .start_disabled = nl80211_start_disabled,
- };
-diff --git a/src/drivers/nl80211_copy.h b/src/drivers/nl80211_copy.h
-index c4bf3ad..79bc76c 100644
---- a/src/drivers/nl80211_copy.h
-+++ b/src/drivers/nl80211_copy.h
-@@ -3176,6 +3176,7 @@ enum nl80211_attrs {
- NL80211_ATTR_EHT_CAPABILITY,
-
- /* add attributes here, update the policy in nl80211.c */
-+ NL80211_ATTR_START_DISABLED = 999,
-
- __NL80211_ATTR_AFTER_LAST,
- NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
---
-2.18.0
-
diff --git a/recipes-wifi/wpa-supplicant/files/patches/patches.inc b/recipes-wifi/wpa-supplicant/files/patches/patches.inc
index ee712d1..309cd4f 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/patches.inc
+++ b/recipes-wifi/wpa-supplicant/files/patches/patches.inc
@@ -66,10 +66,9 @@
file://99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch \
file://99911-hostapd-mtk-Add-mtk_vendor.h.patch \
file://99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch \
- file://99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch \
- file://99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch \
- file://99916-hostapd-mtk-Add-hostapd-iBF-control.patch \
- file://99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch \
- file://99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch \
- file://99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch \
+ file://99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch \
+ file://99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch \
+ file://99915-hostapd-mtk-Add-hostapd-iBF-control.patch \
+ file://99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch \
+ file://99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch \
"