diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/911-master-print-sae-groups-by-hostapd-ctrl.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/911-master-print-sae-groups-by-hostapd-ctrl.patch
deleted file mode 100644
index 859fdbf..0000000
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/911-master-print-sae-groups-by-hostapd-ctrl.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/hostapd/ctrl_iface.c
-+++ b/hostapd/ctrl_iface.c
-@@ -1584,6 +1584,19 @@ static int hostapd_ctrl_iface_get(struct
- 		if (os_snprintf_error(buflen, res))
- 			return -1;
- 		return res;
-+	} else if (os_strcmp(cmd, "sae_group_capability") == 0) {
-+#ifdef CONFIG_SAE
-+		/* see sae_set_group() */
-+		res = os_snprintf(buf, buflen, "%s%s%s%s19 20 21",
-+				  dh_groups_get(15) ? "15 ": "",
-+				  dh_groups_get(16) ? "16 ": "",
-+				  dh_groups_get(17) ? "17 ": "",
-+				  dh_groups_get(18) ? "18 ": "");
-+
-+		if (os_snprintf_error(buflen, res))
-+			return -1;
-+		return res;
-+#endif /* CONFIG_SAE */
- 	}
- 
- 	return -1;
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/902-master-Add-hostapd_neighbor_count-and-hostapd_neighbor_inse.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99900-master-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
similarity index 90%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/902-master-Add-hostapd_neighbor_count-and-hostapd_neighbor_inse.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99900-master-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
index e761c00..ce6d8a2 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/902-master-Add-hostapd_neighbor_count-and-hostapd_neighbor_inse.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99900-master-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
@@ -1,7 +1,7 @@
-From 413cb1d917383c5f4cb4bb6b94310c4f193a9187 Mon Sep 17 00:00:00 2001
+From ad6a0480d6e495796ac74b8ec53bcc2e85534caf 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 1/9] Add hostapd_neighbor_count() and
+Subject: [PATCH 99900/99916] 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 229edd2..ce6865d 100644
+index 52f25eb7a..c12139067 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 992671b..1ae194d 100644
+index 992671b62..1ae194d98 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.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/903-master-Support-including-neighbor-report-elements-in-ANQP-r.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99901-master-Support-including-neighbor-report-elements-in-ANQP-.patch
similarity index 92%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/903-master-Support-including-neighbor-report-elements-in-ANQP-r.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99901-master-Support-including-neighbor-report-elements-in-ANQP-.patch
index 3e6506a..d908add 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/903-master-Support-including-neighbor-report-elements-in-ANQP-r.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99901-master-Support-including-neighbor-report-elements-in-ANQP-.patch
@@ -1,8 +1,8 @@
-From adacd810f97a89472f26b454805cd67d0e6f5d31 Mon Sep 17 00:00:00 2001
+From 5773e6a27eb2d2028972fb0ab1206faf6a117d17 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 2/9] Support including neighbor report elements in ANQP
- response
+Subject: [PATCH 99901/99916] Support including neighbor report elements in
+ ANQP response
 
 ---
  src/ap/gas_serv.c | 29 +++++++++++++++++++++++++++++
@@ -10,7 +10,7 @@
  2 files changed, 31 insertions(+)
 
 diff --git a/src/ap/gas_serv.c b/src/ap/gas_serv.c
-index 90f1577..5845ff8 100644
+index 90f15778b..5845ff857 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 1528af4..d0241f2 100644
+index 1528af4af..d0241f23c 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.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/904-master-Support-including-neignbor-report-elements-in-BTM-re.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99902-master-Support-including-neignbor-report-elements-in-BTM-r.patch
similarity index 91%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/904-master-Support-including-neignbor-report-elements-in-BTM-re.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99902-master-Support-including-neignbor-report-elements-in-BTM-r.patch
index 86d8fd1..cc10887 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/904-master-Support-including-neignbor-report-elements-in-BTM-re.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99902-master-Support-including-neignbor-report-elements-in-BTM-r.patch
@@ -1,7 +1,7 @@
-From 4a7b4a0fe05dd01ae64dd4e291d05de6d5f05bb7 Mon Sep 17 00:00:00 2001
+From dc41ee6abddd05f25cba50126afe7890b890dfbc 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 3/9] Support including neignbor report elements in BTM
+Subject: [PATCH 99902/99916] 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 72cd126..b55b3f3 100644
+index 3ea92af2d..532d9dbe6 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.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/905-master-Support-configuring-BSS-Termination-TSF-by-using-hos.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99903-master-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
similarity index 81%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/905-master-Support-configuring-BSS-Termination-TSF-by-using-hos.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99903-master-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
index ad9c926..5370298 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/905-master-Support-configuring-BSS-Termination-TSF-by-using-hos.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99903-master-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
@@ -1,7 +1,7 @@
-From 6a949f8644546d689b7271228d19b1b1ad80632f Mon Sep 17 00:00:00 2001
+From e3453cf75d1d9067e97b6d0d370afb3805eccea7 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 1/6] Support configuring BSS Termination TSF by using
+Subject: [PATCH 99903/99916] Support configuring BSS Termination TSF by using
  hostapd_cli command
 
 ---
@@ -12,10 +12,10 @@
  4 files changed, 11 insertions(+)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 4718368..e0a7e4f 100644
+index a2584920c..c2a282227 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -1326,6 +1326,11 @@ static int hostapd_ctrl_iface_set(struct hostapd_data *hapd, char *cmd)
+@@ -1338,6 +1338,11 @@ static int hostapd_ctrl_iface_set(struct hostapd_data *hapd, char *cmd)
  #endif /* CONFIG_DPP */
  	} else if (os_strcasecmp(cmd, "setband") == 0) {
  		ret = hostapd_ctrl_iface_set_band(hapd, value);
@@ -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 23b67e1..f248281 100644
+index d7a0c7c80..4a20eb4e1 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 f795ee9..5dab8be 100644
+index ed3bec7fe..3f68e76d5 100644
 --- a/src/ap/ap_config.h
 +++ b/src/ap/ap_config.h
 @@ -557,6 +557,7 @@ struct hostapd_bss_config {
@@ -52,10 +52,10 @@
  	/* IEEE 802.11u - Interworking */
  	int interworking;
 diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index c496e4f..aad5180 100644
+index 96209ce7e..46a860905 100644
 --- a/src/ap/ctrl_iface_ap.c
 +++ b/src/ap/ctrl_iface_ap.c
-@@ -1202,6 +1202,10 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
+@@ -1203,6 +1203,10 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
  			wpa_printf(MSG_DEBUG, "Invalid bss_term data");
  			return -1;
  		}
@@ -67,5 +67,5 @@
  		WPA_PUT_LE16(&bss_term_dur[10], atoi(end));
  	}
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/906-master-Disable-interface-if-BSS-Termination-TSF-is-set.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99904-master-Disable-interface-if-BSS-Termination-TSF-is-set.patch
similarity index 78%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/906-master-Disable-interface-if-BSS-Termination-TSF-is-set.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99904-master-Disable-interface-if-BSS-Termination-TSF-is-set.patch
index 0d28e4e..f147d68 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/906-master-Disable-interface-if-BSS-Termination-TSF-is-set.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99904-master-Disable-interface-if-BSS-Termination-TSF-is-set.patch
@@ -1,17 +1,17 @@
-From dcedb231bc62949d458792530a14ceddfee20e96 Mon Sep 17 00:00:00 2001
+From 17c48cab4058c5183f3fedc1bfbd6877a706e003 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 5/9] Disable interface if BSS Termination TSF is set
+Subject: [PATCH 99904/99916] 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 b55b3f3..6eac3ac 100644
+index 532d9dbe6..f6761aba3 100644
 --- a/src/ap/wnm_ap.c
 +++ b/src/ap/wnm_ap.c
-@@ -767,6 +767,22 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
+@@ -780,6 +780,22 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
  }
  
  
@@ -34,7 +34,7 @@
  int wnm_send_ess_disassoc_imminent(struct hostapd_data *hapd,
  				   struct sta_info *sta, const char *url,
  				   int disassoc_timer)
-@@ -856,6 +872,7 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta,
+@@ -869,6 +885,7 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta,
  	    bss_term_dur) {
  		os_memcpy(pos, bss_term_dur, 12);
  		pos += 12;
@@ -43,5 +43,5 @@
  
  	if (url) {
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/907-master-Add-set_send_disassoc_frame_timer-to-send-disassocia.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99905-master-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
similarity index 84%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/907-master-Add-set_send_disassoc_frame_timer-to-send-disassocia.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99905-master-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
index be0f823..c967ebf 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/907-master-Add-set_send_disassoc_frame_timer-to-send-disassocia.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99905-master-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
@@ -1,8 +1,8 @@
-From cb31775e39eaa2b8a0bd36f5e195ac8bff967535 Mon Sep 17 00:00:00 2001
+From 1538a92c53326c958133d5859c8dff0d56050c68 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 6/9] Add set_send_disassoc_frame_timer() to send disassociate
- frame
+Subject: [PATCH 99905/99916] Add set_send_disassoc_frame_timer() to send
+ disassociate frame
 
 Function set_disassoc_timer() may fail if key was deleted first. This new
 function will not ask to delete key as set_disassoc_timer() did.
@@ -11,10 +11,10 @@
  1 file changed, 29 insertions(+), 1 deletion(-)
 
 diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c
-index 6eac3ac..fad132c 100644
+index f6761aba3..4349e1df2 100644
 --- a/src/ap/wnm_ap.c
 +++ b/src/ap/wnm_ap.c
-@@ -767,6 +767,34 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
+@@ -780,6 +780,34 @@ static void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info *sta,
  }
  
  
@@ -49,7 +49,7 @@
  void bss_termination_disable_iface(void *eloop_ctx, void *timeout_ctx)
  {
  	struct hostapd_data *hapd = eloop_ctx;
-@@ -909,7 +937,7 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta,
+@@ -922,7 +950,7 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta,
  	hapd->openwrt_stats.wnm.bss_transition_request_tx++;
  	if (disassoc_timer) {
  		/* send disassociation frame after time-out */
@@ -59,5 +59,5 @@
  
  	return 0;
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/908-master-Support-including-neighbor-report-elements-in-BTM-re.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99906-master-Support-including-neighbor-report-elements-in-BTM-r.patch
similarity index 75%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/908-master-Support-including-neighbor-report-elements-in-BTM-re.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99906-master-Support-including-neighbor-report-elements-in-BTM-r.patch
index 37f2d96..c88f3e5 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/908-master-Support-including-neighbor-report-elements-in-BTM-re.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99906-master-Support-including-neighbor-report-elements-in-BTM-r.patch
@@ -1,17 +1,18 @@
-From e6f1c893d375aa952e1f9c8c1eb4ecacf588e4e2 Mon Sep 17 00:00:00 2001
+From 8b4c91eee579bb232b7a921abbfe07f3630d73b9 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 4/6] Support including neighbor report elements in BTM request
+Subject: [PATCH 99906/99916] Support including neighbor report elements in BTM
+ request
 
 ---
  src/ap/ctrl_iface_ap.c | 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 aad5180..fccc5f9 100644
+index 46a860905..1cbec537a 100644
 --- a/src/ap/ctrl_iface_ap.c
 +++ b/src/ap/ctrl_iface_ap.c
-@@ -1232,8 +1232,13 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
+@@ -1233,8 +1233,13 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
  		req_mode |= WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT;
  	}
  
@@ -27,5 +28,5 @@
  		req_mode |= WNM_BSS_TM_REQ_ABRIDGED;
  	if (os_strstr(cmd, " disassoc_imminent=1"))
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/909-master-Add-hostapd_neighbor_set_own_report_pref.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99907-master-Add-hostapd_neighbor_set_own_report_pref.patch
similarity index 86%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/909-master-Add-hostapd_neighbor_set_own_report_pref.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99907-master-Add-hostapd_neighbor_set_own_report_pref.patch
index f77deb2..37ff1ac 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/909-master-Add-hostapd_neighbor_set_own_report_pref.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99907-master-Add-hostapd_neighbor_set_own_report_pref.patch
@@ -1,7 +1,7 @@
-From 12b95b365372ca8167b8fdbfd192fcd4dcb11419 Mon Sep 17 00:00:00 2001
+From 9af8c262f5405028d704a3b7f93c4fcb7ed5f7b4 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 5/6] Add hostapd_neighbor_set_own_report_pref()
+Subject: [PATCH 99907/99916] Add hostapd_neighbor_set_own_report_pref()
 
 ---
  src/ap/ctrl_iface_ap.c |  6 +++++-
@@ -10,10 +10,10 @@
  3 files changed, 43 insertions(+), 1 deletion(-)
 
 diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index fccc5f9..d5d4e33 100644
+index 1cbec537a..274b43587 100644
 --- a/src/ap/ctrl_iface_ap.c
 +++ b/src/ap/ctrl_iface_ap.c
-@@ -1241,8 +1241,12 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
+@@ -1242,8 +1242,12 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
  	}
  	if (os_strstr(cmd, " abridged=1"))
  		req_mode |= WNM_BSS_TM_REQ_ABRIDGED;
@@ -28,10 +28,10 @@
  #ifdef CONFIG_MBO
  	pos = os_strstr(cmd, "mbo=");
 diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index fabe64d..20a4417 100644
+index c12139067..134ed4a71 100644
 --- a/src/ap/neighbor_db.c
 +++ b/src/ap/neighbor_db.c
-@@ -355,3 +355,39 @@ void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)
+@@ -357,3 +357,39 @@ void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)
  	wpabuf_free(nr);
  #endif /* NEED_AP_MLME */
  }
@@ -72,7 +72,7 @@
 +	}
 +}
 diff --git a/src/ap/neighbor_db.h b/src/ap/neighbor_db.h
-index 1ae194d..2e16f72 100644
+index 1ae194d98..2e16f7268 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.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/910-master-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99908-master-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
similarity index 87%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/910-master-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99908-master-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
index 8a9e47e..563588e 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/910-master-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99908-master-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
@@ -1,7 +1,7 @@
-From be49aa855a83b3bb0c6a96380960b54cbdabcb56 Mon Sep 17 00:00:00 2001
+From 21c1940ecfd6d9404097868ad4a59a0d6a54ea69 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 6/6] Add hostapd_neighbor_set_pref_by_non_pref_chan()
+Subject: [PATCH 99908/99916] Add hostapd_neighbor_set_pref_by_non_pref_chan()
 
 ---
  src/ap/ctrl_iface_ap.c |  2 ++
@@ -10,10 +10,10 @@
  3 files changed, 57 insertions(+)
 
 diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index d5d4e33..a888b76 100644
+index 274b43587..18bae5c8b 100644
 --- a/src/ap/ctrl_iface_ap.c
 +++ b/src/ap/ctrl_iface_ap.c
-@@ -1249,6 +1249,8 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
+@@ -1250,6 +1250,8 @@ int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
  
  
  #ifdef CONFIG_MBO
@@ -23,10 +23,10 @@
  	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 20a4417..8c27da9 100644
+index 134ed4a71..9254d09fd 100644
 --- a/src/ap/neighbor_db.c
 +++ b/src/ap/neighbor_db.c
-@@ -391,3 +391,54 @@ void hostapd_neighbor_set_own_report_pref(struct hostapd_data *hapd, char *nei_b
+@@ -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 2e16f72..a1ddc07 100644
+index 2e16f7268..a1ddc075b 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.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/99909-master-print-sae-groups-by-hostapd-ctrl.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99909-master-print-sae-groups-by-hostapd-ctrl.patch
new file mode 100644
index 0000000..58b47fa
--- /dev/null
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99909-master-print-sae-groups-by-hostapd-ctrl.patch
@@ -0,0 +1,36 @@
+From 0818f9258d0491387103ef7b98b8dbbd1ada12ec 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
+
+---
+ 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
+--- 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,
+ 		if (os_snprintf_error(buflen, res))
+ 			return -1;
+ 		return res;
++	} else if (os_strcmp(cmd, "sae_group_capability") == 0) {
++#ifdef CONFIG_SAE
++		/* see sae_set_group() */
++		res = os_snprintf(buf, buflen, "%s%s%s%s19 20 21",
++				  dh_groups_get(15) ? "15 ": "",
++				  dh_groups_get(16) ? "16 ": "",
++				  dh_groups_get(17) ? "17 ": "",
++				  dh_groups_get(18) ? "18 ": "");
++
++		if (os_snprintf_error(buflen, res))
++			return -1;
++		return res;
++#endif /* CONFIG_SAE */
+ 	}
+ 
+ 	return -1;
+-- 
+2.25.1
+
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/913-master-add-support-for-runtime-set-in-band-discover.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99910-master-hostapd-add-support-for-runtime-set-in-band-discove.patch
similarity index 87%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/913-master-add-support-for-runtime-set-in-band-discover.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99910-master-hostapd-add-support-for-runtime-set-in-band-discove.patch
index dcbe915..b404963 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/913-master-add-support-for-runtime-set-in-band-discover.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99910-master-hostapd-add-support-for-runtime-set-in-band-discove.patch
@@ -1,7 +1,8 @@
-From 76d110deecc1705295b3154ce91d046fb6115c66 Mon Sep 17 00:00:00 2001
+From cff3f584e921ce37fcd72a895666abc9227d16fd 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] hostapd: add support for runtime set in-band discovery
+Subject: [PATCH 99910/99916] hostapd: add support for runtime set in-band
+ discovery
 
 Usage:
 hostapd_cli unsolic_probe_resp [tx_type] [interval]
@@ -20,10 +21,10 @@
  5 files changed, 98 insertions(+), 4 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 664c59df7..e6a2d4203 100644
+index bc690c526..bb8c74fd3 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -769,6 +769,69 @@ static int hostapd_ctrl_iface_send_qos_map_conf(struct hostapd_data *hapd,
+@@ -826,6 +826,69 @@ static int hostapd_ctrl_iface_send_qos_map_conf(struct hostapd_data *hapd,
  
  #endif /* CONFIG_INTERWORKING */
  
@@ -93,7 +94,7 @@
  
  #ifdef CONFIG_WNM_AP
  
-@@ -3336,6 +3399,9 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -3434,6 +3497,9 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		if (hostapd_ctrl_iface_coloc_intf_req(hapd, buf + 15))
  			reply_len = -1;
  #endif /* CONFIG_WNM_AP */
@@ -104,12 +105,12 @@
  		reply_len = hostapd_ctrl_iface_get_config(hapd, reply,
  							  reply_size);
 diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
-index 60396f3da..4c4c82c9a 100644
+index 85c41d0c3..db2125805 100644
 --- a/hostapd/hostapd_cli.c
 +++ b/hostapd/hostapd_cli.c
-@@ -646,6 +646,24 @@ static int hostapd_cli_cmd_wps_config(struct wpa_ctrl *ctrl, int argc,
+@@ -642,6 +642,24 @@ static int hostapd_cli_cmd_wps_config(struct wpa_ctrl *ctrl, int argc,
+ 	return wpa_ctrl_command(ctrl, buf);
  }
- #endif /* CONFIG_WPS */
  
 +static int hostapd_cli_cmd_inband_discovery(struct wpa_ctrl *ctrl, int argc,
 +					    char *argv[])
@@ -132,7 +133,7 @@
  
  static int hostapd_cli_cmd_disassoc_imminent(struct wpa_ctrl *ctrl, int argc,
  					     char *argv[])
-@@ -1744,6 +1762,8 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
+@@ -1749,6 +1767,8 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
  	{ "driver", hostapd_cli_cmd_driver, NULL,
  	  "<driver sub command> [<hex formatted data>] = send driver command data" },
  #endif /* ANDROID */
@@ -142,10 +143,10 @@
  };
  
 diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index 58872bfda..c8db86c6e 100644
+index 814e86efe..1a26f11ff 100644
 --- a/src/ap/beacon.c
 +++ b/src/ap/beacon.c
-@@ -1483,6 +1483,8 @@ static u8 * hostapd_fils_discovery(struct hostapd_data *hapd,
+@@ -1497,6 +1497,8 @@ static u8 * hostapd_fils_discovery(struct hostapd_data *hapd,
  				   struct wpa_driver_ap_params *params)
  {
  	params->fd_max_int = hapd->conf->fils_discovery_max_int;
@@ -154,7 +155,7 @@
  	if (is_6ghz_op_class(hapd->iconf->op_class) &&
  	    params->fd_max_int > FD_MAX_INTERVAL_6GHZ)
  		params->fd_max_int = FD_MAX_INTERVAL_6GHZ;
-@@ -1491,7 +1493,8 @@ static u8 * hostapd_fils_discovery(struct hostapd_data *hapd,
+@@ -1505,7 +1507,8 @@ static u8 * hostapd_fils_discovery(struct hostapd_data *hapd,
  	if (params->fd_min_int > params->fd_max_int)
  		params->fd_min_int = params->fd_max_int;
  
@@ -165,10 +166,10 @@
  						  &params->fd_frame_tmpl_len);
  
 diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 0127a6be2..ee763990f 100644
+index 53f25030a..5eba0ea1b 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -4493,9 +4493,10 @@ static int nl80211_fils_discovery(struct i802_bss *bss, struct nl_msg *msg,
+@@ -4498,9 +4498,10 @@ static int nl80211_fils_discovery(struct i802_bss *bss, struct nl_msg *msg,
  			params->fd_max_int) ||
  	    (params->fd_frame_tmpl &&
  	     nla_put(msg, NL80211_FILS_DISCOVERY_ATTR_TMPL,
@@ -181,7 +182,7 @@
  	nla_nest_end(msg, attr);
  	return 0;
  }
-@@ -4839,7 +4840,10 @@ static int wpa_driver_nl80211_set_ap(void *priv,
+@@ -4844,7 +4845,10 @@ static int wpa_driver_nl80211_set_ap(void *priv,
  #endif /* CONFIG_SAE */
  
  #ifdef CONFIG_FILS
@@ -206,5 +207,5 @@
  	/* keep last */
  	__NL80211_FILS_DISCOVERY_ATTR_LAST,
 -- 
-2.36.1
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/914-Add-mtk_vendor.h.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99911-master-Add-mtk_vendor.h.patch
similarity index 97%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/914-Add-mtk_vendor.h.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99911-master-Add-mtk_vendor.h.patch
index eb77284..e2a4cb2 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/914-Add-mtk_vendor.h.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99911-master-Add-mtk_vendor.h.patch
@@ -1,7 +1,7 @@
-From 21ba11c81b8208280f112b0518735427edecedd8 Mon Sep 17 00:00:00 2001
+From 653bfcdadce50131c3c394b33acd94b110186744 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 1/1] Add mtk_vendor.h
+Subject: [PATCH 99911/99916] 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 0000000..528387f
+index 000000000..528387fa5
 --- /dev/null
 +++ b/src/common/mtk_vendor.h
 @@ -0,0 +1,195 @@
@@ -210,5 +210,5 @@
 +};
 +#endif /* MTK_VENDOR_H */
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/915-Support-new-hostapd-configuration-edcca_enable-and-e.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99912-master-Support-new-hostapd-configuration-edcca_enable-and-.patch
similarity index 86%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/915-Support-new-hostapd-configuration-edcca_enable-and-e.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99912-master-Support-new-hostapd-configuration-edcca_enable-and-.patch
index fbf45a4..be54e06 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/915-Support-new-hostapd-configuration-edcca_enable-and-e.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99912-master-Support-new-hostapd-configuration-edcca_enable-and-.patch
@@ -1,8 +1,8 @@
-From 801aa2e893945b44d2a10b73fcc2cff269e02497 Mon Sep 17 00:00:00 2001
+From 166ba374624b2aed360427f087c20b8f511fb2e0 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 915/917] Support new hostapd configuration, edcca_enable and
- edcca_compensation
+Subject: [PATCH 99912/99916] Support new hostapd configuration, edcca_enable
+ and edcca_compensation
 
 ---
  hostapd/config_file.c             | 20 +++++++++++++++
@@ -18,10 +18,10 @@
  10 files changed, 98 insertions(+), 1 deletion(-)
 
 diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index e57c78b..19a2fd5 100644
+index eda9db021..8a21c9698 100644
 --- a/hostapd/config_file.c
 +++ b/hostapd/config_file.c
-@@ -4741,6 +4741,26 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4753,6 +4753,26 @@ static int hostapd_config_fill(struct hostapd_config *conf,
  	} else if (os_strcmp(buf, "eht_mu_beamformer") == 0) {
  		conf->eht_phy_capab.mu_beamformer = atoi(pos);
  #endif /* CONFIG_IEEE80211BE */
@@ -49,7 +49,7 @@
  		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 f248281..427f16e 100644
+index 4a20eb4e1..373879f79 100644
 --- a/src/ap/ap_config.c
 +++ b/src/ap/ap_config.c
 @@ -294,6 +294,9 @@ struct hostapd_config * hostapd_config_defaults(void)
@@ -63,10 +63,10 @@
  }
  
 diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 5dab8be..9bbe7eb 100644
+index 3f68e76d5..3ac2ae070 100644
 --- a/src/ap/ap_config.h
 +++ b/src/ap/ap_config.h
-@@ -1150,8 +1150,18 @@ struct hostapd_config {
+@@ -1153,8 +1153,18 @@ struct hostapd_config {
  #define CH_SWITCH_EHT_ENABLED BIT(0)
  #define CH_SWITCH_EHT_DISABLED BIT(1)
  	unsigned int ch_switch_eht_config;
@@ -83,13 +83,13 @@
 +#define EDCCA_MIN_COMPENSATION -126
 +#define EDCCA_MAX_COMPENSATION 126
  
- static inline u8 hostapd_get_oper_chwidth(struct hostapd_config *conf)
- {
+ static inline enum oper_chan_width
+ hostapd_get_oper_chwidth(struct hostapd_config *conf)
 diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index f7ad3ed..b8b98e4 100644
+index 0c7aee276..5d2d79c38 100644
 --- a/src/ap/ap_drv_ops.c
 +++ b/src/ap/ap_drv_ops.c
-@@ -1012,3 +1012,12 @@ int hostapd_drv_dpp_listen(struct hostapd_data *hapd, bool enable)
+@@ -1015,3 +1015,12 @@ int hostapd_drv_dpp_listen(struct hostapd_data *hapd, bool enable)
  		return 0;
  	return hapd->driver->dpp_listen(hapd->drv_priv, enable);
  }
@@ -103,7 +103,7 @@
 +				hapd->iconf->edcca_compensation);
 +}
 diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
-index b4fb766..f8fef19 100644
+index b4fb766ee..f8fef1929 100644
 --- a/src/ap/ap_drv_ops.h
 +++ b/src/ap/ap_drv_ops.h
 @@ -138,7 +138,7 @@ int hostapd_drv_do_acs(struct hostapd_data *hapd);
@@ -116,7 +116,7 @@
  #include "drivers/driver.h"
  
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index e61ac39..c1edaab 100644
+index 0dd8c13b7..6babb036a 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -2295,6 +2295,9 @@ dfs_offload:
@@ -130,10 +130,10 @@
  		   iface->bss[0]->conf->iface);
  	if (iface->interfaces && iface->interfaces->terminate_on_error > 0)
 diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index 836c16b..fc96fef 100644
+index 1d2b1b265..575448a93 100644
 --- a/src/drivers/driver.h
 +++ b/src/drivers/driver.h
-@@ -4673,6 +4673,8 @@ struct wpa_driver_ops {
+@@ -4676,6 +4676,8 @@ struct wpa_driver_ops {
  			      const u8 *match, size_t match_len,
  			      bool multicast);
  #endif /* CONFIG_TESTING_OPTIONS */
@@ -143,7 +143,7 @@
  
  /**
 diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index cd4a853..4351e74 100644
+index 5eba0ea1b..76680dfd3 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
 @@ -35,6 +35,7 @@
@@ -154,7 +154,7 @@
  
  
  #ifndef NETLINK_CAP_ACK
-@@ -12350,6 +12351,45 @@ static int testing_nl80211_radio_disable(void *priv, int disabled)
+@@ -12368,6 +12369,45 @@ static int testing_nl80211_radio_disable(void *priv, int disabled)
  
  #endif /* CONFIG_TESTING_OPTIONS */
  
@@ -200,7 +200,7 @@
  
  const struct wpa_driver_ops wpa_driver_nl80211_ops = {
  	.name = "nl80211",
-@@ -12496,4 +12536,6 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+@@ -12514,4 +12554,6 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
  	.register_frame = testing_nl80211_register_frame,
  	.radio_disable = testing_nl80211_radio_disable,
  #endif /* CONFIG_TESTING_OPTIONS */
@@ -208,19 +208,19 @@
 +	.configure_edcca_threshold = nl80211_configure_edcca_threshold,
  };
 diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h
-index 80d4564..b677907 100644
+index 6e40d5556..13e5d248c 100644
 --- a/src/drivers/driver_nl80211.h
 +++ b/src/drivers/driver_nl80211.h
-@@ -180,6 +180,7 @@ struct wpa_driver_nl80211_data {
- 	unsigned int unsol_bcast_probe_resp:1;
+@@ -181,6 +181,7 @@ struct wpa_driver_nl80211_data {
  	unsigned int qca_do_acs:1;
  	unsigned int brcm_do_acs:1;
+ 	unsigned int uses_6ghz:1;
 +	unsigned int mtk_edcca_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 a0803ba..6c743bf 100644
+index 7ede0d030..732ae292d 100644
 --- a/src/drivers/driver_nl80211_capa.c
 +++ b/src/drivers/driver_nl80211_capa.c
 @@ -18,6 +18,7 @@
@@ -231,7 +231,7 @@
  
  
  static int protocol_feature_handler(struct nl_msg *msg, void *arg)
-@@ -1044,6 +1045,12 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
+@@ -1050,6 +1051,12 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
  					break;
  				}
  #endif /* CONFIG_DRIVER_NL80211_BRCM */
@@ -245,5 +245,5 @@
  
  			wpa_printf(MSG_DEBUG, "nl80211: Supported vendor command: vendor_id=0x%x subcmd=%u",
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/916-Add-hostapd-command-handler-for-SET_EDCCA-GET_EDCCA-.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99913-master-Add-hostapd-command-handler-for-SET_EDCCA-GET_EDCCA.patch
similarity index 90%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/916-Add-hostapd-command-handler-for-SET_EDCCA-GET_EDCCA-.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99913-master-Add-hostapd-command-handler-for-SET_EDCCA-GET_EDCCA.patch
index 7f94fa3..e8e96d6 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/916-Add-hostapd-command-handler-for-SET_EDCCA-GET_EDCCA-.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99913-master-Add-hostapd-command-handler-for-SET_EDCCA-GET_EDCCA.patch
@@ -1,15 +1,15 @@
-From a00f78d06067b5c139c043c9acf359810e963108 Mon Sep 17 00:00:00 2001
+From 64344c416f8d394552aeaa44f2b1cea4c9815141 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Fri, 24 Jun 2022 22:32:40 +0800
-Subject: [PATCH 916/917] Add hostapd command handler for SET_EDCCA, GET_EDCCA
- and APPLY_EDCCA
+Subject: [PATCH 99913/99916] Add hostapd command handler for SET_EDCCA,
+ GET_EDCCA and APPLY_EDCCA
 
 ---
  hostapd/ctrl_iface.c | 99 ++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 99 insertions(+)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index b997ed8..5e9af7f 100644
+index bb8c74fd3..b3e61ff3d 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
 @@ -598,6 +598,19 @@ static const char * pbc_status_str(enum pbc_status status)
@@ -32,7 +32,7 @@
  static int hostapd_ctrl_iface_wps_get_status(struct hostapd_data *hapd,
  					     char *buf, size_t buflen)
  {
-@@ -3307,6 +3320,85 @@ static int hostapd_ctrl_iface_driver_cmd(struct hostapd_data *hapd, char *cmd,
+@@ -3322,6 +3335,85 @@ static int hostapd_ctrl_iface_driver_cmd(struct hostapd_data *hapd, char *cmd,
  #endif /* ANDROID */
  
  
@@ -118,7 +118,7 @@
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
  					      int reply_size,
-@@ -3840,6 +3932,13 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -3868,6 +3960,13 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_driver_cmd(hapd, buf + 7, reply,
  							  reply_size);
  #endif /* ANDROID */
@@ -133,5 +133,5 @@
  		os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
  		reply_len = 16;
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/920-Add-hostapd-HEMU-SET-GET-control.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99914-master-Add-hostapd-HEMU-SET-GET-control.patch
similarity index 90%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/920-Add-hostapd-HEMU-SET-GET-control.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99914-master-Add-hostapd-HEMU-SET-GET-control.patch
index b31d521..f255d50 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/920-Add-hostapd-HEMU-SET-GET-control.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99914-master-Add-hostapd-HEMU-SET-GET-control.patch
@@ -1,7 +1,7 @@
-From f815c6befdd5b0185ae476d649e3eff58d6e9b69 Mon Sep 17 00:00:00 2001
+From eb5eaa8daca8108be818aa5dc0021cc4b7f1f051 Mon Sep 17 00:00:00 2001
 From: TomLiu <tomml.liu@mediatek.com>
 Date: Tue, 9 Aug 2022 10:23:44 -0700
-Subject: [PATCH] [PATCH-920]Add hostapd HEMU SET/GET control
+Subject: [PATCH 99914/99916] 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 19a2fd5..85d58cd 100644
+index 8a21c9698..0be53044a 100644
 --- a/hostapd/config_file.c
 +++ b/hostapd/config_file.c
-@@ -3655,6 +3655,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;
@@ -40,10 +40,10 @@
  	} else if (os_strcmp(buf, "max_listen_interval") == 0) {
  		bss->max_listen_interval = atoi(pos);
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 5e9af7f..5df5c84 100644
+index b3e61ff3d..60c1fb44e 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3399,6 +3399,63 @@ hostapd_ctrl_iface_apply_edcca(struct hostapd_data *hapd, char *buf,
+@@ -3414,6 +3414,63 @@ hostapd_ctrl_iface_apply_edcca(struct hostapd_data *hapd, char *buf,
  }
  
  
@@ -107,7 +107,7 @@
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
  					      int reply_size,
-@@ -3939,6 +3996,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -3967,6 +4024,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_get_edcca(hapd, reply, reply_size);
  	} else if (os_strncmp(buf, "APPLY_EDCCA", 11) == 0) {
  		reply_len = hostapd_ctrl_iface_apply_edcca(hapd, reply, reply_size);
@@ -120,7 +120,7 @@
  		os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
  		reply_len = 16;
 diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
-index 68133d4..41d244a 100644
+index db2125805..0d364773b 100644
 --- a/hostapd/hostapd_cli.c
 +++ b/hostapd/hostapd_cli.c
 @@ -1380,6 +1380,20 @@ static int hostapd_cli_cmd_driver_flags(struct wpa_ctrl *ctrl, int argc,
@@ -144,7 +144,7 @@
  #ifdef CONFIG_DPP
  
  static int hostapd_cli_cmd_dpp_qr_code(struct wpa_ctrl *ctrl, int argc,
-@@ -1696,6 +1710,10 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
+@@ -1705,6 +1719,10 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
  	  " = send FTM range request"},
  	{ "driver_flags", hostapd_cli_cmd_driver_flags, NULL,
  	  " = show supported driver flags"},
@@ -156,7 +156,7 @@
  	{ "dpp_qr_code", hostapd_cli_cmd_dpp_qr_code, NULL,
  	  "report a scanned DPP URI from a QR Code" },
 diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
-index 427f16e..79e215f 100644
+index 373879f79..8ce4d9a16 100644
 --- a/src/ap/ap_config.c
 +++ b/src/ap/ap_config.c
 @@ -280,6 +280,7 @@ struct hostapd_config * hostapd_config_defaults(void)
@@ -168,10 +168,10 @@
  
  	/* The third octet of the country string uses an ASCII space character
 diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 9bbe7eb..737cc2f 100644
+index 3ac2ae070..4462f29b7 100644
 --- a/src/ap/ap_config.h
 +++ b/src/ap/ap_config.h
-@@ -1111,6 +1111,7 @@ struct hostapd_config {
+@@ -1114,6 +1114,7 @@ struct hostapd_config {
  	u8 he_6ghz_rx_ant_pat;
  	u8 he_6ghz_tx_ant_pat;
  	u8 he_6ghz_reg_pwr_type;
@@ -180,10 +180,10 @@
  
  	/* VHT enable/disable config from CHAN_SWITCH */
 diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index b8b98e4..3de6748 100644
+index 5d2d79c38..55452323d 100644
 --- a/src/ap/ap_drv_ops.c
 +++ b/src/ap/ap_drv_ops.c
-@@ -1021,3 +1021,17 @@ int hostapd_drv_configure_edcca_threshold(struct hostapd_data *hapd)
+@@ -1024,3 +1024,17 @@ int hostapd_drv_configure_edcca_threshold(struct hostapd_data *hapd)
  				hapd->iconf->edcca_enable,
  				hapd->iconf->edcca_compensation);
  }
@@ -202,7 +202,7 @@
 +	return hapd->driver->hemu_dump(hapd->drv_priv, hemu_onoff);
 +}
 diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
-index f8fef19..5bcb225 100644
+index f8fef1929..5bcb2251a 100644
 --- a/src/ap/ap_drv_ops.h
 +++ b/src/ap/ap_drv_ops.h
 @@ -139,6 +139,8 @@ int hostapd_drv_update_dh_ie(struct hostapd_data *hapd, const u8 *peer,
@@ -215,7 +215,7 @@
  #include "drivers/driver.h"
  
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index c1edaab..3b752fc 100644
+index 6babb036a..0f3691ba3 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -2297,6 +2297,8 @@ dfs_offload:
@@ -228,7 +228,7 @@
  	wpa_printf(MSG_DEBUG, "%s: Setup of interface done.",
  		   iface->bss[0]->conf->iface);
 diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
-index 528387f..5c8f179 100644
+index 528387fa5..5c8f1792e 100644
 --- a/src/common/mtk_vendor.h
 +++ b/src/common/mtk_vendor.h
 @@ -10,6 +10,8 @@ enum mtk_nl80211_vendor_subcmds {
@@ -261,10 +261,10 @@
  #define ETH_ALEN 6
  
 diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index fc96fef..6cc7e9b 100644
+index 575448a93..88b371d61 100644
 --- a/src/drivers/driver.h
 +++ b/src/drivers/driver.h
-@@ -1622,6 +1622,11 @@ struct wpa_driver_ap_params {
+@@ -1623,6 +1623,11 @@ struct wpa_driver_ap_params {
  	 * Unsolicited broadcast Probe Response template length
  	 */
  	size_t unsol_bcast_probe_resp_tmpl_len;
@@ -276,7 +276,7 @@
  };
  
  struct wpa_driver_mesh_bss_params {
-@@ -4675,6 +4680,14 @@ struct wpa_driver_ops {
+@@ -4678,6 +4683,14 @@ struct wpa_driver_ops {
  #endif /* CONFIG_TESTING_OPTIONS */
  	int (*configure_edcca_threshold)(void *priv, const u8 edcca_enable,
  				  const s8 edcca_compensation);
@@ -292,10 +292,10 @@
  
  /**
 diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index b1e7b16..021a593 100644
+index 76680dfd3..b06de0687 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -12287,6 +12287,114 @@ fail:
+@@ -12303,6 +12303,114 @@ fail:
  }
  
  
@@ -410,7 +410,7 @@
  #ifdef CONFIG_DPP
  static int nl80211_dpp_listen(void *priv, bool enable)
  {
-@@ -12531,6 +12639,8 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+@@ -12547,6 +12655,8 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
  	.update_connect_params = nl80211_update_connection_params,
  	.send_external_auth_status = nl80211_send_external_auth_status,
  	.set_4addr_mode = nl80211_set_4addr_mode,
@@ -420,22 +420,22 @@
  	.dpp_listen = nl80211_dpp_listen,
  #endif /* CONFIG_DPP */
 diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h
-index b677907..62d9696 100644
+index 13e5d248c..57f02497e 100644
 --- a/src/drivers/driver_nl80211.h
 +++ b/src/drivers/driver_nl80211.h
-@@ -181,6 +181,7 @@ struct wpa_driver_nl80211_data {
- 	unsigned int qca_do_acs:1;
+@@ -182,6 +182,7 @@ struct wpa_driver_nl80211_data {
  	unsigned int brcm_do_acs:1;
+ 	unsigned int uses_6ghz:1;
  	unsigned int mtk_edcca_vendor_cmd_avail:1;
 +	unsigned int mtk_hemu_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 6c743bf..b5cd2c5 100644
+index 732ae292d..cc146d9fc 100644
 --- a/src/drivers/driver_nl80211_capa.c
 +++ b/src/drivers/driver_nl80211_capa.c
-@@ -1050,6 +1050,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
+@@ -1056,6 +1056,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
  				case MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL :
  					drv->mtk_edcca_vendor_cmd_avail = 1;
  					break;
@@ -446,5 +446,5 @@
  			}
  
 -- 
-2.32.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/921-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99915-master-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
similarity index 88%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/921-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99915-master-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
index a3d8837..a3183d7 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/921-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99915-master-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
@@ -1,7 +1,7 @@
-From 1bd8935beffa0d94c34a2ba4f3400c65b8629250 Mon Sep 17 00:00:00 2001
+From 476f2fe6698c32ddaca8e5f8c564b499f5dc4772 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] Add three wire PTA ctrl hostapd vendor command
+Subject: [PATCH 99915/99916] Add three wire PTA ctrl hostapd vendor command
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -19,10 +19,10 @@
  11 files changed, 86 insertions(+)
 
 diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 85d58cd..ee5decb 100644
+index 0be53044a..0bf8b6c72 100644
 --- a/hostapd/config_file.c
 +++ b/hostapd/config_file.c
-@@ -4770,6 +4770,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4782,6 +4782,10 @@ static int hostapd_config_fill(struct hostapd_config *conf,
  			return 1;
  		}
  		conf->edcca_compensation = (s8) val;
@@ -34,7 +34,7 @@
  		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 79e215f..34e4fb1 100644
+index 8ce4d9a16..2d720095a 100644
 --- a/src/ap/ap_config.c
 +++ b/src/ap/ap_config.c
 @@ -297,6 +297,7 @@ struct hostapd_config * hostapd_config_defaults(void)
@@ -46,10 +46,10 @@
  	return conf;
  }
 diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 7528430..99edb49 100644
+index 4462f29b7..8b9e8873d 100644
 --- a/src/ap/ap_config.h
 +++ b/src/ap/ap_config.h
-@@ -1153,6 +1153,19 @@ struct hostapd_config {
+@@ -1156,6 +1156,19 @@ struct hostapd_config {
  	unsigned int ch_switch_eht_config;
  	u8 edcca_enable;
  	s8 edcca_compensation;
@@ -70,7 +70,7 @@
  
  enum edcca_mode {
 diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index 5545232..77d5f89 100644
+index 55452323d..77d5f8990 100644
 --- a/src/ap/ap_drv_ops.c
 +++ b/src/ap/ap_drv_ops.c
 @@ -1038,3 +1038,14 @@ int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff)
@@ -89,7 +89,7 @@
 +	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 5bcb225..0a8bf0c 100644
+index 5bcb2251a..0a8bf0c7e 100644
 --- a/src/ap/ap_drv_ops.h
 +++ b/src/ap/ap_drv_ops.h
 @@ -141,6 +141,7 @@ int hostapd_drv_dpp_listen(struct hostapd_data *hapd, bool enable);
@@ -101,7 +101,7 @@
  #include "drivers/driver.h"
  
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index 0f3691b..32b75dc 100644
+index 0f3691ba3..32b75dca7 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -2299,6 +2299,8 @@ dfs_offload:
@@ -114,7 +114,7 @@
  	wpa_printf(MSG_DEBUG, "%s: Setup of interface done.",
  		   iface->bss[0]->conf->iface);
 diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
-index 5c8f179..99a4d7f 100644
+index 5c8f1792e..99a4d7f94 100644
 --- a/src/common/mtk_vendor.h
 +++ b/src/common/mtk_vendor.h
 @@ -13,6 +13,7 @@ enum mtk_nl80211_vendor_subcmds {
@@ -148,10 +148,10 @@
  	MTK_VENDOR_ATTR_CSI_CTRL_UNSPEC,
  
 diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index 0f12feb..79e80b6 100644
+index 88b371d61..a137ffc14 100644
 --- a/src/drivers/driver.h
 +++ b/src/drivers/driver.h
-@@ -4689,6 +4689,7 @@ struct wpa_driver_ops {
+@@ -4691,6 +4691,7 @@ struct wpa_driver_ops {
  	 */
  	 int (*hemu_ctrl)(void *priv, u8 hemu_onoff);
  	 int (*hemu_dump)(void *priv, u8 *hemu_onoff);
@@ -160,10 +160,10 @@
  
  /**
 diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index b2c3a2e..02f4b95 100644
+index b06de0687..03babd8a2 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -12505,6 +12505,38 @@ static int nl80211_configure_edcca_threshold(void *priv,
+@@ -12516,6 +12516,38 @@ static int nl80211_configure_edcca_threshold(void *priv,
  	return ret;
  }
  
@@ -202,18 +202,18 @@
  
  const struct wpa_driver_ops wpa_driver_nl80211_ops = {
  	.name = "nl80211",
-@@ -12655,4 +12687,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+@@ -12666,4 +12698,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
  #endif /* CONFIG_TESTING_OPTIONS */
  /* Need ifdef CONFIG_DRIVER_NL80211_MTK */
  	.configure_edcca_threshold = nl80211_configure_edcca_threshold,
 +	.three_wire_ctrl = nl80211_enable_three_wire,
  };
 diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h
-index 62d9696..196d24f 100644
+index 57f02497e..9fe7811b9 100644
 --- a/src/drivers/driver_nl80211.h
 +++ b/src/drivers/driver_nl80211.h
-@@ -182,6 +182,7 @@ struct wpa_driver_nl80211_data {
- 	unsigned int brcm_do_acs:1;
+@@ -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;
@@ -221,10 +221,10 @@
  	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 b5cd2c5..f0397f5 100644
+index cc146d9fc..04bc54e77 100644
 --- a/src/drivers/driver_nl80211_capa.c
 +++ b/src/drivers/driver_nl80211_capa.c
-@@ -1053,6 +1053,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
+@@ -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;
@@ -235,5 +235,5 @@
  			}
  
 -- 
-2.18.0
+2.25.1
 
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/922-Add-hostapd-iBF-control.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99916-master-Add-hostapd-iBF-control.patch
old mode 100755
new mode 100644
similarity index 83%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/922-Add-hostapd-iBF-control.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99916-master-Add-hostapd-iBF-control.patch
index 37b2f53..740afab
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/922-Add-hostapd-iBF-control.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99916-master-Add-hostapd-iBF-control.patch
@@ -1,30 +1,30 @@
-From b14ba5d1122fc9afbcf78ac5c31e416c0192bf3c Mon Sep 17 00:00:00 2001
+From 23b44ac3bf0c536873ce11d058a7ea7241f6ec95 Mon Sep 17 00:00:00 2001
 From: mtk27835 <shurong.wen@mediatek.com>
 Date: Wed, 7 Sep 2022 14:41:51 -0700
-Subject: [PATCH] [PATCH 922] Add hostapd iBF control
+Subject: [PATCH 99916/99916] Add hostapd iBF control
 
 Signed-off-by: mtk27835 <shurong.wen@mediatek.com>
 ---
- hostapd/config_file.c                     |   3 +
- hostapd/ctrl_iface.c                      |  26 +++++
- hostapd/hostapd_cli.c                     |   9 ++
- src/ap/ap_config.c                        |   1 +
- src/ap/ap_config.h                        |   2 +
- src/ap/ap_drv_ops.c                       |  14 +++
- src/ap/ap_drv_ops.h                       |   2 +
- src/ap/hostapd.c                          |   2 +
- src/common/mtk_vendor.h                   |  35 +++++-
- src/drivers/driver.h                      |  19 +++
- src/drivers/driver_nl80211.c              | 108 ++++++++++++++++++
- src/drivers/driver_nl80211.h              |   1 +
- src/drivers/driver_nl80211_capa.c         |   3 +
+ hostapd/config_file.c             |   3 +
+ hostapd/ctrl_iface.c              |  26 +++++++
+ hostapd/hostapd_cli.c             |   9 +++
+ src/ap/ap_config.c                |   1 +
+ src/ap/ap_config.h                |   2 +
+ src/ap/ap_drv_ops.c               |  14 ++++
+ src/ap/ap_drv_ops.h               |   2 +
+ src/ap/hostapd.c                  |   2 +
+ src/common/mtk_vendor.h           |  35 +++++++++-
+ src/drivers/driver.h              |  19 ++++++
+ src/drivers/driver_nl80211.c      | 108 ++++++++++++++++++++++++++++++
+ src/drivers/driver_nl80211.h      |   1 +
+ src/drivers/driver_nl80211_capa.c |   3 +
  13 files changed, 224 insertions(+), 1 deletion(-)
 
 diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index ee5decb..50bb536 100644
+index 0bf8b6c72..9b79be198 100644
 --- a/hostapd/config_file.c
 +++ b/hostapd/config_file.c
-@@ -4774,6 +4774,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+@@ -4786,6 +4786,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
  		u8 en = atoi(pos);
  
  		conf->three_wire_enable = en;
@@ -35,10 +35,10 @@
  		wpa_printf(MSG_ERROR,
  			   "Line %d: unknown configuration item '%s'",
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 5df5c84..75bf6e6 100644
+index 60c1fb44e..a010e7fe8 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3456,6 +3456,30 @@ hostapd_ctrl_iface_get_hemu(struct hostapd_data *hapd, char *buf,
+@@ -3471,6 +3471,30 @@ hostapd_ctrl_iface_get_hemu(struct hostapd_data *hapd, char *buf,
  }
  
  
@@ -69,7 +69,7 @@
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
  					      int reply_size,
-@@ -4001,6 +4025,8 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4029,6 +4053,8 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  							  reply_size);
  	} else if (os_strncmp(buf, "GET_HEMU", 8) == 0) {
  		reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
@@ -79,10 +79,10 @@
  		os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
  		reply_len = 16;
 diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
-index 41d244a..e98a0a4 100644
+index 0d364773b..c2a123a8c 100644
 --- a/hostapd/hostapd_cli.c
 +++ b/hostapd/hostapd_cli.c
-@@ -1577,6 +1577,13 @@ static int hostapd_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
+@@ -1586,6 +1586,13 @@ static int hostapd_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
  #endif /* ANDROID */
  
  
@@ -96,7 +96,7 @@
  struct hostapd_cli_cmd {
  	const char *cmd;
  	int (*handler)(struct wpa_ctrl *ctrl, int argc, char *argv[]);
-@@ -1774,6 +1781,8 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
+@@ -1787,6 +1794,8 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
  #endif /* ANDROID */
  	{ "inband_discovery", hostapd_cli_cmd_inband_discovery, NULL,
            "<tx type(0/1/2)> <interval> = runtime set inband discovery" },
@@ -106,7 +106,7 @@
  };
  
 diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
-index 34e4fb1..f28aa65 100644
+index 2d720095a..14b21cb46 100644
 --- a/src/ap/ap_config.c
 +++ b/src/ap/ap_config.c
 @@ -298,6 +298,7 @@ struct hostapd_config * hostapd_config_defaults(void)
@@ -118,10 +118,10 @@
  	return conf;
  }
 diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index db0379d..9c73e40 100644
+index 8b9e8873d..2a74e09fe 100644
 --- a/src/ap/ap_config.h
 +++ b/src/ap/ap_config.h
-@@ -1154,6 +1154,7 @@ struct hostapd_config {
+@@ -1157,6 +1157,7 @@ struct hostapd_config {
  	u8 edcca_enable;
  	s8 edcca_compensation;
  	u8 three_wire_enable;
@@ -129,19 +129,19 @@
  };
  
  enum three_wire_mode {
-@@ -1176,6 +1177,7 @@ enum edcca_mode {
+@@ -1179,6 +1180,7 @@ enum edcca_mode {
  #define EDCCA_DEFAULT_COMPENSATION -6
  #define EDCCA_MIN_COMPENSATION -126
  #define EDCCA_MAX_COMPENSATION 126
 +#define IBF_DEFAULT_ENABLE 0
  
- static inline u8 hostapd_get_oper_chwidth(struct hostapd_config *conf)
- {
+ static inline enum oper_chan_width
+ hostapd_get_oper_chwidth(struct hostapd_config *conf)
 diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index a48c22e..7b3af9c 100644
+index 77d5f8990..0b9b4101c 100644
 --- a/src/ap/ap_drv_ops.c
 +++ b/src/ap/ap_drv_ops.c
-@@ -1046,3 +1046,17 @@ int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd)
+@@ -1049,3 +1049,17 @@ int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd)
  	}
  	return hapd->driver->three_wire_ctrl(hapd->drv_priv, hapd->iconf->three_wire_enable);
  }
@@ -161,7 +161,7 @@
 +}
 \ No newline at end of file
 diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
-index 0a8bf0c..da82382 100644
+index 0a8bf0c7e..da8238249 100644
 --- a/src/ap/ap_drv_ops.h
 +++ b/src/ap/ap_drv_ops.h
 @@ -142,6 +142,8 @@ int hostapd_drv_configure_edcca_threshold(struct hostapd_data *hapd);
@@ -174,7 +174,7 @@
  #include "drivers/driver.h"
  
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index 0c02171..c8a76b2 100644
+index 32b75dca7..f095fe42f 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -2301,6 +2301,8 @@ dfs_offload:
@@ -187,7 +187,7 @@
  	wpa_printf(MSG_DEBUG, "%s: Setup of interface done.",
  		   iface->bss[0]->conf->iface);
 diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
-index 99a4d7f..d6d04de 100644
+index 99a4d7f94..d6d04de95 100644
 --- a/src/common/mtk_vendor.h
 +++ b/src/common/mtk_vendor.h
 @@ -13,7 +13,8 @@ enum mtk_nl80211_vendor_subcmds {
@@ -240,10 +240,10 @@
  #define CSI_MAX_COUNT 256
  #define ETH_ALEN 6
 diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index 0048120..8ce11ba 100644
+index a137ffc14..f9f29d8d1 100644
 --- a/src/drivers/driver.h
 +++ b/src/drivers/driver.h
-@@ -1627,6 +1627,11 @@ struct wpa_driver_ap_params {
+@@ -1628,6 +1628,11 @@ struct wpa_driver_ap_params {
  	 * hemu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))
  	 */
  	u8 hemu_onoff;
@@ -255,7 +255,7 @@
  };
  
  struct wpa_driver_mesh_bss_params {
-@@ -4689,6 +4694,20 @@ struct wpa_driver_ops {
+@@ -4692,6 +4697,20 @@ struct wpa_driver_ops {
  	 int (*hemu_ctrl)(void *priv, u8 hemu_onoff);
  	 int (*hemu_dump)(void *priv, u8 *hemu_onoff);
  	 int (*three_wire_ctrl)(void *priv, u8 three_wire_enable);
@@ -277,10 +277,10 @@
  
  /**
 diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 5834720..8cac145 100644
+index 03babd8a2..1c065d458 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -12533,6 +12533,112 @@ static int nl80211_enable_three_wire(void *priv, const u8 three_wire_enable)
+@@ -12549,6 +12549,112 @@ static int nl80211_enable_three_wire(void *priv, const u8 three_wire_enable)
  	return ret;
  }
  
@@ -393,7 +393,7 @@
  const struct wpa_driver_ops wpa_driver_nl80211_ops = {
  	.name = "nl80211",
  	.desc = "Linux nl80211/cfg80211",
-@@ -12683,4 +12789,6 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+@@ -12699,4 +12805,6 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
  /* Need ifdef CONFIG_DRIVER_NL80211_MTK */
  	.configure_edcca_threshold = nl80211_configure_edcca_threshold,
  	.three_wire_ctrl = nl80211_enable_three_wire,
@@ -401,10 +401,10 @@
 +	.ibf_dump = nl80211_ibf_dump,
  };
 diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h
-index 196d24f..11dd93a 100644
+index 9fe7811b9..607592ceb 100644
 --- a/src/drivers/driver_nl80211.h
 +++ b/src/drivers/driver_nl80211.h
-@@ -183,6 +183,7 @@ struct wpa_driver_nl80211_data {
+@@ -184,6 +184,7 @@ struct wpa_driver_nl80211_data {
  	unsigned int mtk_edcca_vendor_cmd_avail:1;
  	unsigned int mtk_hemu_vendor_cmd_avail:1;
  	unsigned int mtk_3wire_vendor_cmd_avail:1;
@@ -413,10 +413,10 @@
  	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 f0397f5..8cf67fe 100644
+index 04bc54e77..9ecc0ff9a 100644
 --- a/src/drivers/driver_nl80211_capa.c
 +++ b/src/drivers/driver_nl80211_capa.c
-@@ -1056,6 +1056,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
+@@ -1062,6 +1062,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
  				case MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL :
  					drv->mtk_3wire_vendor_cmd_avail = 1;
  					break;
@@ -427,5 +427,5 @@
  			}
  
 -- 
-2.32.0
+2.25.1
 
