[][MAC80211][misc][Remove AMSDU and AMPDU patches]

[Description]
Remove AMSDU and AMPDU patches

[Release-log]
N/A

Change-Id: I87a4947fe803d969fe69b36bdadad1e5fd74be23
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6802431
diff --git a/autobuild_mac80211_release/package/kernel/mac80211/patches/subsys/900-mac80211-mtk-export-del-all-station-for-ampdu-amsdu-on-off-function.patch b/autobuild_mac80211_release/package/kernel/mac80211/patches/subsys/900-mac80211-mtk-export-del-all-station-for-ampdu-amsdu-on-off-function.patch
deleted file mode 100755
index 388d9cb..0000000
--- a/autobuild_mac80211_release/package/kernel/mac80211/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/autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-AMPDU-AMSDU-OnOff-ctonrol.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-AMPDU-AMSDU-OnOff-ctonrol.patch
deleted file mode 100644
index bbeca19..0000000
--- a/autobuild_mac80211_release/package/kernel/mt76/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/autobuild_mac80211_release/package/kernel/mt76/patches/1127-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch
similarity index 100%
rename from autobuild_mac80211_release/package/kernel/mt76/patches/1127-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch
rename to autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-E3-re-bonding-for-low-yield-rate-iss.patch
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1128-mt76-support-on-off-SW-ACI-through-debugfs.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1127-mt76-support-on-off-SW-ACI-through-debugfs.patch
similarity index 100%
rename from autobuild_mac80211_release/package/kernel/mt76/patches/1128-mt76-support-on-off-SW-ACI-through-debugfs.patch
rename to autobuild_mac80211_release/package/kernel/mt76/patches/1127-mt76-support-on-off-SW-ACI-through-debugfs.patch
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
index ce6d8a2..e8e8b8c 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99900-hostapd-mtk-Add-hostapd_neighbor_count-and-hostapd_neighbor_ins.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
index d908add..752584b 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99901-hostapd-mtk-Support-including-neighbor-report-elements-in-ANQP-.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
index cc10887..99bea80 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99902-hostapd-mtk-Support-including-neignbor-report-elements-in-BTM-r.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
index 5370298..cac4092 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99903-hostapd-mtk-Support-configuring-BSS-Termination-TSF-by-using-ho.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
index f147d68..7334217 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99904-hostapd-mtk-Disable-interface-if-BSS-Termination-TSF-is-set.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
index c967ebf..83d9814 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99905-hostapd-mtk-Add-set_send_disassoc_frame_timer-to-send-disassoci.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
index c88f3e5..174d8a9 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99906-hostapd-mtk-Support-including-neighbor-report-elements-in-BTM-r.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
index 37ff1ac..63658c9 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99907-hostapd-mtk-Add-hostapd_neighbor_set_own_report_pref.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
index 563588e..8d23b84 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99908-hostapd-mtk-Add-hostapd_neighbor_set_pref_by_non_pref_chan.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
index 58b47fa..12e0e36 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99909-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
index b404963..2af1d8e 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99910-hostapd-mtk-hostapd-add-support-for-runtime-set-in-band-discove.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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 @@
  						  &params->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/autobuild_mac80211_release/package/network/services/hostapd/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
index e2a4cb2..ff4d232 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99911-hostapd-mtk-Add-mtk_vendor.h.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
index be526be..e1161f8 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99912-hostapd-mtk-Support-new-hostapd-configuration-edcca_enable-and-.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
similarity index 98%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99913-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
index 054dd47..572cdd1 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99914-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
similarity index 96%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99914-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
index c853b08..ca64eb8 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99915-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-command.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
similarity index 98%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99915-hostapd-mtk-Add-hostapd-iBF-control.patch
index eadaa63..a50cb9e 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99916-hostapd-mtk-Add-hostapd-iBF-control.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
similarity index 85%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99916-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
index 6544088..b1769a1 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99918-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated-sta-s-HE-c.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
similarity index 89%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/99917-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
index 4315be0..83eac6e 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/99919-hostapd-mtk--Add-DFS-and-ZWDFS-support.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/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/autobuild_mac80211_release/package/network/services/hostapd/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99917-hostapd-mtk-Add-hostapd-AMPDU-AMSDU-control.patch
deleted file mode 100644
index 796dc3f..0000000
--- a/autobuild_mac80211_release/package/network/services/hostapd/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
-