[rdkb][common][bsp][Refactor and sync wifi from openwrt]

[Description]
8719319c [MAC80211][hostapd][Fix wpa_supplicant configuration parsing error]
0ef5b371 [MAC80211][Rebase Patches][Fix WiFi6 build error]
4f47e260 [MAC80211][core][Fix kernel warning of cfg80211_bss_color_notify]
4b3f08e9 [MAC80211][Rebase Patches][Fix WiFi6 build error]
9d44e5de [MAC80211][mt76][Fix tlv length of mt7915_mcu_get_chan_mib_info]
b63d160d [MAC80211][misc][Remove duplicate group cipher setting in wpa_supplicant]
7a5de8c1 [MAC80211][mt76][Refactor txpower table dump and fix change channel not update]
a0e1acfa [MAC80211][app][Add atenl eeprom ibf cal sync command]
af3af140 [mac80211][mt76][Set station mode TXOP to 0]
9740ca99 [MAC80211][led][report tx and rx byte to tpt_led]
793674de [MAC80211][misc][Rebase hostapd patches]
25a39b5e [MAC80211][hostapd][Fix extender mode issues]
da19c3b2 [MAC80211][mt76][Add Eagle default bin for sku 404]
476c7e8d [MAC80211][mt76][Add mt7996_eeprom_dual_404.bin to mt76 makefile]
beeb6f42 [MT76][hostapd][add extension IE list for non-inherit IE]
5ef327e8 [MAC80211][Core][Enable RNR in 2.4G/5G by default]
10f3f90e [MAC80211][misc][Fix uci not set group cipher]
aa3efcbb [MAC80211][hostapd][Update MU EDCA Parameter update count]
d698fe08 [MAC80211][hnat][Add UL/DL HQoS support]
95f59a1a [MAC80211][misc][Add mediatek external reference release information]
e9c4b56d [mac80211][Rebase Patches][mt76 build fail]

[Release-log]

Change-Id: I2c9d4deafa9d865f40af64d75b9e56da74a88b11
diff --git a/recipes-wifi/atenl/files/iwpriv.sh b/recipes-wifi/atenl/files/iwpriv.sh
index 6fd22c6..9210bef 100644
--- a/recipes-wifi/atenl/files/iwpriv.sh
+++ b/recipes-wifi/atenl/files/iwpriv.sh
@@ -878,6 +878,8 @@
         do_cmd "mt76-test phy${phy_idx} set aid=1"
     elif [ "${cmd}" = "ATETxBfGdInit" ]; then
         do_cmd "mt76-test phy${phy_idx} set aid=1"
+    elif [ "${cmd}" = "ATEIBFPhaseE2pUpdate" ]; then
+        do_cmd "atenl -i phy${phy_idx} -c \"eeprom ibf sync\""
     fi
 }
 
diff --git a/recipes-wifi/atenl/files/src/atenl.h b/recipes-wifi/atenl/files/src/atenl.h
index 1286c55..3641532 100644
--- a/recipes-wifi/atenl/files/src/atenl.h
+++ b/recipes-wifi/atenl/files/src/atenl.h
@@ -424,6 +424,7 @@
 		       enum mt76_testmode_state state);
 int atenl_nl_set_aid(struct atenl *an, u8 band, u8 aid);
 int atenl_nl_precal_sync_from_driver(struct atenl *an, enum prek_ops ops);
+void atenl_get_ibf_cal_result(struct atenl *an);
 int atenl_eeprom_init(struct atenl *an, u8 phy_idx);
 void atenl_eeprom_close(struct atenl *an);
 int atenl_eeprom_write_mtd(struct atenl *an);
diff --git a/recipes-wifi/atenl/files/src/eeprom.c b/recipes-wifi/atenl/files/src/eeprom.c
index 0182187..d40c806 100644
--- a/recipes-wifi/atenl/files/src/eeprom.c
+++ b/recipes-wifi/atenl/files/src/eeprom.c
@@ -541,9 +541,11 @@
 			} else if (!strncmp(s, "sync", 4)) {
 				atenl_nl_precal_sync_from_driver(an, PREK_SYNC_ALL);
 			}
+		} else if (!strncmp(s, "ibf sync", 8)) {
+			atenl_get_ibf_cal_result(an);
 		} else {
-            atenl_err("Unknown eeprom command: %s\n", cmd);
-        }
+			atenl_err("Unknown eeprom command: %s\n", cmd);
+		}
 	} else {
 		atenl_err("Unknown command: %s\n", cmd);
 	}
diff --git a/recipes-wifi/atenl/files/src/nl.c b/recipes-wifi/atenl/files/src/nl.c
index def663f..e0ad020 100644
--- a/recipes-wifi/atenl/files/src/nl.c
+++ b/recipes-wifi/atenl/files/src/nl.c
@@ -826,7 +826,7 @@
 	return ret;
 }
 
-static void
+void
 atenl_get_ibf_cal_result(struct atenl *an)
 {
 	u16 offset;
diff --git a/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
index 27d4416..af79b24 100644
--- a/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
+++ b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
@@ -1,8 +1,8 @@
-From 9444dedd3f8bd97887c9cf274587b4c76f94d621 Mon Sep 17 00:00:00 2001
+From ff273381d463d82898df70cb7b43341405e3d943 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 12 May 2023 05:21:28 +0800
-Subject: [PATCH 26/32] hostapd: mtk: avoid setting beacon after wpa_supplicant
- stop the AP
+Subject: [PATCH] hostapd: mtk: Avoid setting beacon after wpa_supplicant stop
+ the AP
 
 Add a new variable 'stopped_by_supplicant' to indicate the AP
 interface is currently stopped by co-locating STA interface.
@@ -10,16 +10,16 @@
 will reload the co-locating AP interfaces and marks the
 'stopped_by_supplicant' as 0.
 ---
- hostapd/ctrl_iface.c   | 4 ++++
- src/ap/beacon.c        | 4 ++++
- src/ap/bss_load.c      | 3 ++-
- src/ap/ctrl_iface_ap.c | 4 +++-
- src/ap/hostapd.c       | 2 ++
- src/ap/hostapd.h       | 1 +
- 6 files changed, 16 insertions(+), 2 deletions(-)
+ hostapd/ctrl_iface.c   |  4 ++++
+ src/ap/beacon.c        |  5 ++++-
+ src/ap/bss_load.c      | 10 +++++++---
+ src/ap/ctrl_iface_ap.c |  4 +++-
+ src/ap/hostapd.c       |  4 +++-
+ src/ap/hostapd.h       |  1 +
+ 6 files changed, 22 insertions(+), 6 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 9989a04ce..4952bef89 100644
+index 9989a04..4952bef 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
 @@ -194,11 +194,15 @@ static int hostapd_ctrl_iface_update(struct hostapd_data *hapd, char *txt)
@@ -39,19 +39,20 @@
  
  	iface->interfaces->config_read_cb = config_read_cb;
 diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index f26e5254c..24144feff 100644
+index f26e525..1aaeaa8 100644
 --- a/src/ap/beacon.c
 +++ b/src/ap/beacon.c
-@@ -2247,6 +2247,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
+@@ -2246,7 +2246,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
+ 			continue;
  
  		for (i = 0; i < other->num_bss; i++) {
- 			if (other->bss[i] && other->bss[i]->started)
+-			if (other->bss[i] && other->bss[i]->started)
 +			if (other->bss[i] && other->bss[i]->started &&
 +			    !other->bss[i]->stopped_by_supplicant)
  				__ieee802_11_set_beacon(other->bss[i]);
  		}
  	}
-@@ -2262,6 +2264,7 @@ int ieee802_11_set_beacons(struct hostapd_iface *iface)
+@@ -2262,6 +2263,7 @@ int ieee802_11_set_beacons(struct hostapd_iface *iface)
  
  	for (i = 0; i < iface->num_bss; i++) {
  		if (iface->bss[i]->started &&
@@ -59,7 +60,7 @@
  		    ieee802_11_set_beacon(iface->bss[i]) < 0)
  			ret = -1;
  	}
-@@ -2278,6 +2281,7 @@ int ieee802_11_update_beacons(struct hostapd_iface *iface)
+@@ -2278,6 +2280,7 @@ int ieee802_11_update_beacons(struct hostapd_iface *iface)
  
  	for (i = 0; i < iface->num_bss; i++) {
  		if (iface->bss[i]->beacon_set_done && iface->bss[i]->started &&
@@ -68,21 +69,42 @@
  			ret = -1;
  	}
 diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
-index 725d3cd34..ae5552140 100644
+index 725d3cd..f2a1a10 100644
 --- a/src/ap/bss_load.c
 +++ b/src/ap/bss_load.c
-@@ -46,7 +46,8 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 	int err;
- 	struct hostapd_iface *iface = hapd->iface;
- 
--	if (!(hapd->beacon_set_done && hapd->started))
-+	if (!(hapd->beacon_set_done && hapd->started &&
-+	      !hapd->stopped_by_supplicant))
+@@ -49,6 +49,9 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 	if (!(hapd->beacon_set_done && hapd->started))
  		return;
  
++	if(hapd->stopped_by_supplicant)
++		goto skip_update;
++
  	err = hostapd_drv_get_survey(hapd, hapd->iface->freq);
+ 	if (err) {
+ 		wpa_printf(MSG_ERROR, "BSS Load: Failed to get survey data");
+@@ -57,9 +60,6 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 
+ 	ieee802_11_set_beacon(hapd);
+ 
+-	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
+-		return;
+-
+ 	if (hapd->conf->chan_util_avg_period) {
+ 		iface->chan_util_samples_sum += iface->channel_utilization;
+ 		iface->chan_util_num_sample_periods +=
+@@ -75,6 +75,10 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 		}
+ 	}
+ 
++skip_update:
++	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
++		return;
++
+ 	eloop_register_timeout(sec, usec, update_channel_utilization, hapd,
+ 			       NULL);
+ }
 diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index aab8a4665..d52188bb7 100644
+index aab8a46..d52188b 100644
 --- a/src/ap/ctrl_iface_ap.c
 +++ b/src/ap/ctrl_iface_ap.c
 @@ -1028,8 +1028,10 @@ int hostapd_ctrl_iface_stop_ap(struct hostapd_data *hapd)
@@ -98,7 +120,7 @@
  	return 0;
  }
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index abadd1ad0..6e6ae77d7 100644
+index abadd1a..afe0611 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -508,6 +508,7 @@ void hostapd_free_hapd_data(struct hostapd_data *hapd)
@@ -117,8 +139,17 @@
  
  	if (!first || first == -1) {
  		u8 *addr = hapd->own_addr;
+@@ -4285,7 +4287,7 @@ void hostapd_switch_color(struct hostapd_data *hapd, u64 bitmap)
+ {
+ 	struct os_reltime now;
+ 
+-	if (hapd->cca_in_progress)
++	if (hapd->cca_in_progress || hapd->stopped_by_supplicant)
+ 		return;
+ 
+ 	if (os_get_reltime(&now))
 diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
-index 072205c3c..4f1f98824 100644
+index 072205c..4f1f988 100644
 --- a/src/ap/hostapd.h
 +++ b/src/ap/hostapd.h
 @@ -191,6 +191,7 @@ struct hostapd_data {
@@ -130,5 +161,5 @@
  	u8 own_addr[ETH_ALEN];
  	u8 mld_addr[ETH_ALEN];
 -- 
-2.39.2
+2.25.1
 
diff --git a/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch
new file mode 100644
index 0000000..295ce2b
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch
@@ -0,0 +1,28 @@
+From 11c7b9e7b7d4dfef23b2f8f2d72591c1c3590fd5 Mon Sep 17 00:00:00 2001
+From: MeiChia Chiu <meichia.chiu@mediatek.com>
+Date: Fri, 14 Jul 2023 17:19:13 +0800
+Subject: [PATCH] hostapd: mtk: Update parameter_set_count in MU EDCA IE
+
+without this patch, MU EDCA Parameter update count not equal to
+WMM Parameter set count.
+---
+ src/ap/ieee802_11_he.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/ap/ieee802_11_he.c b/src/ap/ieee802_11_he.c
+index 9407dd6..353e815 100644
+--- a/src/ap/ieee802_11_he.c
++++ b/src/ap/ieee802_11_he.c
+@@ -316,6 +316,9 @@ u8 * hostapd_eid_he_mu_edca_parameter_set(struct hostapd_data *hapd, u8 *eid)
+ 	edca = (struct ieee80211_he_mu_edca_parameter_set *) pos;
+ 	os_memcpy(edca, &hapd->iface->conf->he_mu_edca, sizeof(*edca));
+ 
++	if (hapd->conf->wmm_enabled)
++		edca->he_qos_info = hapd->parameter_set_count % 0xf;
++
+ 	wpa_hexdump(MSG_DEBUG, "HE: MU EDCA Parameter Set element",
+ 		    pos, sizeof(*edca));
+ 
+-- 
+2.39.0
+
diff --git a/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch
new file mode 100644
index 0000000..45a340d
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch
@@ -0,0 +1,53 @@
+From d65c803ab5583dddc6574b09fee47ccfb39cb99b Mon Sep 17 00:00:00 2001
+From: mtk20656 <chank.chen@mediatek.com>
+Date: Mon, 24 Jul 2023 11:30:27 +0800
+Subject: [PATCH] hostapd: mtk: add extension IE list for non-inherit IE in
+ mbssid
+
+Certain clients do not scan all non tx profiles due to absence of
+element ID extension list which is mandatory field in non inheritance
+IE. Non inheritance Element ID is followed by extension element ID.
+Length is expected to be mentioned. Currently we do not support any
+extension element and hence filling length as 0.
+
+Signed-off-by: mtk20656 <chank.chen@mediatek.com>
+---
+ src/ap/ieee802_11.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+old mode 100644
+new mode 100755
+index 1bf5bea..d36798e
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -7639,7 +7639,7 @@ static size_t hostapd_eid_mbssid_elem_len(struct hostapd_data *hapd,
+ 		else if (hapd->conf->xrates_supported)
+ 			ie_count++;
+ 		if (ie_count)
+-			nontx_profile_len += 4 + ie_count;
++			nontx_profile_len += 5 + ie_count;
+ 
+ 		if (len + nontx_profile_len > 255)
+ 			break;
+@@ -7780,11 +7780,16 @@ static u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8 *end,
+ 			non_inherit_ie[ie_count++] = WLAN_EID_EXT_SUPP_RATES;
+ 		if (ie_count) {
+ 			*eid++ = WLAN_EID_EXTENSION;
+-			*eid++ = 2 + ie_count;
++			*eid++ = 3 + ie_count;
+ 			*eid++ = WLAN_EID_EXT_NON_INHERITANCE;
+ 			*eid++ = ie_count;
+ 			os_memcpy(eid, non_inherit_ie, ie_count);
+ 			eid += ie_count;
++			/* Element ID extension list is mandatory part of non inheritance IE.
++			 * It has a length field followed by extension IEs. Currently no
++			 * extension IEs are supported so filling length as 0.
++			 */
++			*eid++ = 0;
+ 		}
+ 
+ 		*eid_len_pos = (eid - eid_len_pos) - 1;
+-- 
+2.18.0
+
diff --git a/recipes-wifi/hostapd/files/patches-2.10.3/patches.inc b/recipes-wifi/hostapd/files/patches-2.10.3/patches.inc
index e11b91d..78dae59 100644
--- a/recipes-wifi/hostapd/files/patches-2.10.3/patches.inc
+++ b/recipes-wifi/hostapd/files/patches-2.10.3/patches.inc
@@ -92,6 +92,8 @@
     file://mtk-0032-hostapd-mtk-Add-HE-capabilities-check.patch \
     file://mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch \
     file://mtk-0035-hostapd-mtk-Check-the-bridge-after-ioctl-SIOCBRADDIF.patch \
+    file://mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch \
+    file://mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch \
     file://mtk-1000-hostapd-mtk-update-eht-operation-element.patch \
     file://mtk-1001-hostapd-mtk-Add-support-for-gtk-rekeying-in-hostapd-.patch \
     "
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch b/recipes-wifi/hostapd/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch
index edab139..6d9f728 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch
@@ -1,7 +1,7 @@
-From 6e4d4d6feafd223615cddf334b6c3beb6e5191cc Mon Sep 17 00:00:00 2001
+From 046a0312fb59b3658f8fdec314cdfb73a8d6fca4 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 01/29] hostapd: mtk: Add neighbor report and BSS Termination
+Subject: [PATCH 01/35] hostapd: mtk: Add neighbor report and BSS Termination
  for MBO certification
 
 1. Add hostapd_neighbor_count() and hostapd_neighbor_insert_buffer ()
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch b/recipes-wifi/hostapd/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
index b4ce65c..3459c19 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
@@ -1,7 +1,7 @@
-From 1320c3e6d39c08371da1a80ffa1ae3ecb711c742 Mon Sep 17 00:00:00 2001
+From d927ebf4a9373eabd383514bad580dc9d7fba3a4 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 02/29] hostapd: mtk: print sae groups by hostapd ctrl
+Subject: [PATCH 02/35] hostapd: mtk: print sae groups by hostapd ctrl
 
 ---
  hostapd/ctrl_iface.c | 13 +++++++++++++
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch b/recipes-wifi/hostapd/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch
index 8a2ed4d..dde876a 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch
@@ -1,7 +1,7 @@
-From 11a3a8dcba0e17a032bf8445c6bb50835cbe8e85 Mon Sep 17 00:00:00 2001
+From 33afb892c534b88aea9206740c53a3da0966861f 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 03/29] hostapd: mtk: add support for runtime set in-band
+Subject: [PATCH 03/35] hostapd: mtk: add support for runtime set in-band
  discovery
 
 Usage:
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch b/recipes-wifi/hostapd/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
index 0490689..a5d2898 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
@@ -1,7 +1,7 @@
-From f05288a19fe295685de4cb419c31f4bd11a774df Mon Sep 17 00:00:00 2001
+From 258ca680978d344390c79db8cc9431d89e794c3b Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 30 May 2022 15:04:57 +0800
-Subject: [PATCH 04/29] hostapd: mtk: Add mtk_vendor.h
+Subject: [PATCH 04/35] hostapd: mtk: Add mtk_vendor.h
 
 ---
  src/common/mtk_vendor.h | 195 ++++++++++++++++++++++++++++++++++++++++
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch b/recipes-wifi/hostapd/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
index ade6b9d..818f367 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
@@ -1,7 +1,7 @@
-From c69f15f922f2095b6f36a5bbd5186e4ff5e44021 Mon Sep 17 00:00:00 2001
+From fd2d3a61e36bff90a1fcd88e208da9278e5e3e18 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 30 May 2022 16:31:34 +0800
-Subject: [PATCH 05/29] hostapd: mtk: Support EDCCA hostapd configuration
+Subject: [PATCH 05/35] hostapd: mtk: Support EDCCA hostapd configuration
 
 edcca_enable and edcca_compensation and implement edcca related handlers.
 ---
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch b/recipes-wifi/hostapd/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
index 026b4fd..f51b42f 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
@@ -1,7 +1,7 @@
-From f27bf939f8e2815e2f65790e538fba3bfc46a9c3 Mon Sep 17 00:00:00 2001
+From e063e89785d74506976e34a0a3cbb14836d6b8e3 Mon Sep 17 00:00:00 2001
 From: TomLiu <tomml.liu@mediatek.com>
 Date: Tue, 9 Aug 2022 10:23:44 -0700
-Subject: [PATCH 06/29] hostapd: mtk: Add hostapd MU SET/GET control
+Subject: [PATCH 06/35] hostapd: mtk: Add hostapd MU SET/GET control
 
 ---
  hostapd/config_file.c             |   9 +++
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch b/recipes-wifi/hostapd/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
index b8d1836..cba0282 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
@@ -1,7 +1,7 @@
-From 94c7af6787585f1d063ce90c33208aa7e4f5730e Mon Sep 17 00:00:00 2001
+From 4a1abf37db598ee0965923ab579078baffabf73c Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 2 Sep 2022 01:03:23 +0800
-Subject: [PATCH 07/29] hostapd: mtk: Add three wire PTA ctrl hostapd vendor
+Subject: [PATCH 07/35] hostapd: mtk: Add three wire PTA ctrl hostapd vendor
  command
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch b/recipes-wifi/hostapd/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
index acefdee..031e6b4 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
@@ -1,7 +1,7 @@
-From a75dc659e600dc2d6f7eda2dc9886747b6c55254 Mon Sep 17 00:00:00 2001
+From 579573f2b64970fab71640fce57cbacfdced8d22 Mon Sep 17 00:00:00 2001
 From: mtk27835 <shurong.wen@mediatek.com>
 Date: Wed, 7 Sep 2022 14:41:51 -0700
-Subject: [PATCH 08/29] hostapd: mtk: Add hostapd iBF control
+Subject: [PATCH 08/35] hostapd: mtk: Add hostapd iBF control
 
 Signed-off-by: mtk27835 <shurong.wen@mediatek.com>
 ---
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch b/recipes-wifi/hostapd/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch
index d96423d..96c0af7 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch
@@ -1,7 +1,7 @@
-From 0c960d33f909f8c119d533cc57b1585d77e319e1 Mon Sep 17 00:00:00 2001
+From 250d224a1cff6bed4cd51c2c5eeb3e9bd7ef8e49 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 09/29] hostapd: mtk: Do not include HE capab IE if associated
+Subject: [PATCH 09/35] hostapd: mtk: Do not include HE capab IE if associated
  sta's HE capab IE is invalid
 
 ---
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch b/recipes-wifi/hostapd/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch
index ffe0426..135ba9a 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch
@@ -1,7 +1,7 @@
-From f57c471059e4e9909b7fc6cbd351343cd2628e2c Mon Sep 17 00:00:00 2001
+From 31eb9b93e4bc7006eb96fbfc8201ad22d3faf061 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 14:55:49 +0800
-Subject: [PATCH 10/29] hostapd: mtk: Add DFS detection mode
+Subject: [PATCH 10/35] hostapd: mtk: Add DFS detection mode
 
 Add DFS detection mode for testing radar detection rate.
 If DFS detection mode is on, AP will not switch channels when receiving
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch b/recipes-wifi/hostapd/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch
index 187f804..69f3fa2 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch
@@ -1,7 +1,7 @@
-From 43e5bfa91c67528eb2a37071e0e4a6f32807ad8f Mon Sep 17 00:00:00 2001
+From b087dbc78f6911b16c9c00ac0a9246a89871225f Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 14:56:55 +0800
-Subject: [PATCH 11/29] hostapd: mtk: Add DFS offchan channel switch
+Subject: [PATCH 11/35] hostapd: mtk: Add DFS offchan channel switch
 
 Add DFS background chain channel switch command for testing purpose.
 This feature is implemented via hostapd_cli command.
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch b/recipes-wifi/hostapd/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
index 53936b2..aa72f2a 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
@@ -1,7 +1,7 @@
-From 8dee72b3608710a9cb6e9694c3d6535be000e104 Mon Sep 17 00:00:00 2001
+From 9b82b5966b57403f389759b6dfb8318dd862b480 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 16 Dec 2022 03:57:11 +0800
-Subject: [PATCH 12/29] hostapd: mtk: Add amsdu set get ctrl
+Subject: [PATCH 12/35] hostapd: mtk: Add amsdu set get ctrl
 
 ---
  hostapd/config_file.c             |   9 +++
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch b/recipes-wifi/hostapd/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch
index 094e102..84c1221 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch
@@ -1,7 +1,7 @@
-From 858e23d3ff04d156a6391168d2554796962b294c Mon Sep 17 00:00:00 2001
+From cbec0a6786a799da0411d5b11f22151a7a66c51c Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 12 Jan 2023 15:18:19 +0800
-Subject: [PATCH 13/29] hostapd: mtk: Add he_ldpc configuration
+Subject: [PATCH 13/35] hostapd: mtk: Add he_ldpc configuration
 
 ---
  hostapd/config_file.c        | 2 ++
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch b/recipes-wifi/hostapd/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch
index abca258..8805a45 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch
@@ -1,7 +1,7 @@
-From d45d0c40a81b1196b0dc4cc8da08fe736f04022f Mon Sep 17 00:00:00 2001
+From ad503bc69ccedcc7272d85ad9ebb2a5653853a15 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Tue, 17 Jan 2023 13:25:18 +0800
-Subject: [PATCH 14/29] hostapd: mtk: Add the broadcast destination address of
+Subject: [PATCH 14/35] hostapd: mtk: Add the broadcast destination address of
  Probe Response frame on 6 GHz
 
 According to IEEE 802.11ax 26.17.2.3.2,
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch b/recipes-wifi/hostapd/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch
index a74780c..e3e0611 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch
@@ -1,7 +1,7 @@
-From a0cc42414bd6abd0342f2fd06c09650c366c959c Mon Sep 17 00:00:00 2001
+From c585424eaba09fcce7a17250fc7eef84c63f7a3a Mon Sep 17 00:00:00 2001
 From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
 Date: Tue, 24 Jan 2023 19:06:44 +0800
-Subject: [PATCH 15/29] hostapd: mtk: Add vendor command attribute for RTS BW
+Subject: [PATCH 15/35] hostapd: mtk: Add vendor command attribute for RTS BW
  signaling.
 
 Signed-off-by: himanshu.goyal <himanshu.goyal@mediatek.com>
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch b/recipes-wifi/hostapd/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch
index 30cc7eb..26fd1de 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch
@@ -1,7 +1,7 @@
-From 08a909a1a06a2231fda12b34aad68c6361c45e6b Mon Sep 17 00:00:00 2001
+From 2598c3fce61bdca1c3b5684e39cbfa368aea9011 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 13 Feb 2023 11:03:53 +0800
-Subject: [PATCH 16/29] hostapd: mtk: 6G band does not require DFS
+Subject: [PATCH 16/35] hostapd: mtk: 6G band does not require DFS
 
 ---
  src/ap/dfs.c | 1 +
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch b/recipes-wifi/hostapd/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch
index 81e22a2..fe049e9 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch
@@ -1,7 +1,7 @@
-From 4c7054d6a1d7e373d93b6abf309c41c0151e523f Mon Sep 17 00:00:00 2001
+From 6acc166aa7873e91da230047d6ae15a5edf9ada3 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 11:01:18 +0800
-Subject: [PATCH 17/29] hostapd: mtk: Fix sending wrong VHT operation IE in CSA
+Subject: [PATCH 17/35] hostapd: mtk: Fix sending wrong VHT operation IE in CSA
  while using ZWDFS
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch b/recipes-wifi/hostapd/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch
index 059ded9..890198f 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch
@@ -1,7 +1,7 @@
-From d851c49cd0afb0e86676670f8b49170bb0386cba Mon Sep 17 00:00:00 2001
+From 041170e5089b0ec71074ebb0474ac2972e8a2323 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 10:51:47 +0800
-Subject: [PATCH 18/29] hostapd: mtk: Add sta-assisted DFS state update
+Subject: [PATCH 18/35] hostapd: mtk: Add sta-assisted DFS state update
  mechanism
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch b/recipes-wifi/hostapd/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch
index d5f0dac..07a8510 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch
@@ -1,7 +1,8 @@
-From a71a78bc51b74d331aeb3f900c03480d058d5233 Mon Sep 17 00:00:00 2001
+From f175ec97644841fb3a07cfbd965994bb7b09683c Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 16:58:20 +0800
-Subject: [PATCH] hostapd: mtk: Fix auto ht issue when switching to DFS channel
+Subject: [PATCH 19/35] hostapd: mtk: Fix auto ht issue when switching to DFS
+ channel
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch b/recipes-wifi/hostapd/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch
index 5b14a77..7aea2dc 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch
@@ -1,7 +1,7 @@
-From c229d874452a61f58b65473d26b89c64b4693908 Mon Sep 17 00:00:00 2001
+From 34fb887dc4a6b88b0eaff76ede9fdd024893b2f9 Mon Sep 17 00:00:00 2001
 From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
 Date: Sat, 29 Apr 2023 06:57:36 +0800
-Subject: [PATCH 20/29] hostapd: mtk: Mark DFS channel as available for CSA.
+Subject: [PATCH 20/35] hostapd: mtk: Mark DFS channel as available for CSA.
 
 ---
  hostapd/ctrl_iface.c   | 10 ++++++++++
@@ -10,11 +10,11 @@
  3 files changed, 12 insertions(+), 1 deletion(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 06cbea1..7b59bb5 100644
+index c33b7a4..9ba6992 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -2705,6 +2705,16 @@ static int hostapd_ctrl_iface_chan_switch(struct hostapd_iface *iface,
- 		settings.freq_params.eht_enabled = iface->conf->ieee80211be;
+@@ -2704,6 +2704,16 @@ static int hostapd_ctrl_iface_chan_switch(struct hostapd_iface *iface,
+ 		settings.freq_params.he_enabled = iface->conf->ieee80211ax;
  	}
  
 +	if (settings.freq_params.radar_background) {
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch b/recipes-wifi/hostapd/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch
index c9b8ea9..e6354bd 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch
@@ -1,7 +1,7 @@
-From bed7e913c79fcd0f2d7d686b7d1da0ec8bf4d23f Mon Sep 17 00:00:00 2001
+From 6bcb8ed50638aeecd32cc43287a49e3caecd4b3e Mon Sep 17 00:00:00 2001
 From: mtk20656 <chank.chen@mediatek.com>
 Date: Thu, 2 Mar 2023 10:51:43 +0800
-Subject: [PATCH 21/29] hostapd: mtk: add 11v_mbss and ema support for hostapd
+Subject: [PATCH 21/35] hostapd: mtk: add 11v_mbss and ema support for hostapd
 
 Signed-off-by: mtk20656 <chank.chen@mediatek.com>
 ---
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch b/recipes-wifi/hostapd/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch
index 544ab11..1b23579 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch
@@ -1,7 +1,7 @@
-From 93880afd007b74cb7b56f9711bb0ab07b9858ac1 Mon Sep 17 00:00:00 2001
+From 9b40b6ccf6fd2f4463b389df46d38610001df04e Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 Date: Thu, 26 Jan 2023 09:16:00 +0800
-Subject: [PATCH 22/29] hostapd: mtk: Add available color bitmap
+Subject: [PATCH 22/35] hostapd: mtk: Add available color bitmap
 
 Signed-off-by: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 ---
@@ -17,10 +17,10 @@
  9 files changed, 192 insertions(+), 1 deletion(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 7b59bb5..78179aa 100644
+index 9ba6992..e1e9270 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3646,6 +3646,76 @@ hostapd_ctrl_iface_get_amsdu(struct hostapd_data *hapd, char *buf,
+@@ -3645,6 +3645,76 @@ hostapd_ctrl_iface_get_amsdu(struct hostapd_data *hapd, char *buf,
  	return ret;
  }
  
@@ -97,7 +97,7 @@
  
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
-@@ -4213,6 +4283,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4212,6 +4282,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_set_offchan_ctrl(hapd, buf + 16, reply, reply_size);
  	} else if (os_strncmp(buf, "GET_AMSDU", 9) == 0) {
  		reply_len = hostapd_ctrl_iface_get_amsdu(hapd, reply, reply_size);
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch b/recipes-wifi/hostapd/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch
index 5df63b2..6f8fa7f 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch
@@ -1,7 +1,7 @@
-From a2d6ad8b3330feca1ea3f7fc8539a964145371a9 Mon Sep 17 00:00:00 2001
+From add7a84a8a3d33c120c47ff7662134cacbab858e Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 22 Mar 2023 13:59:29 +0800
-Subject: [PATCH 23/29] hostapd: mtk: Add channel information for hostapd
+Subject: [PATCH 23/35] hostapd: mtk: Add channel information for hostapd
  reload
 
 Add center channel, operating class, and bandwidth into the UPDATE
@@ -15,7 +15,7 @@
  2 files changed, 25 insertions(+), 3 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 78179aa..87448e7 100644
+index e1e9270..4c5d494 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
 @@ -170,6 +170,17 @@ static struct hostapd_config *hostapd_ctrl_iface_config_read(const char *fname)
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch b/recipes-wifi/hostapd/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch
index 57e8b9b..fa0cda1 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch
@@ -1,7 +1,7 @@
-From 87dbbd2f6e02272e2ceee1e30dce60828bf0cc1c Mon Sep 17 00:00:00 2001
+From 66398037524443e229ab0ee666237d0bc3d20791 Mon Sep 17 00:00:00 2001
 From: Amit Khatri <amit.khatri@mediatek.com>
 Date: Thu, 23 Mar 2023 14:26:46 +0800
-Subject: [PATCH 24/29] hostapd: mtk: Add support for masking EHT capabilities.
+Subject: [PATCH 24/35] hostapd: mtk: Add support for masking EHT capabilities.
 
 If STA want to disable EHT mode connection.
 STA can set
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch b/recipes-wifi/hostapd/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch
index 5eb131b..3d87b10 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch
@@ -1,7 +1,7 @@
-From 2d97fca26e0c3cd46d1c21cc18d6adc68be60f52 Mon Sep 17 00:00:00 2001
+From f723f9502240a9a7df4cc05eab5f5e9dc3b05c4a Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Mar 2023 16:08:30 +0800
-Subject: [PATCH 25/29] hostapd: mtk: Fix ZWDFS issue in BW 160
+Subject: [PATCH 25/35] hostapd: mtk: Fix ZWDFS issue in BW 160
 
 When background radar is enabled and bandwidth is set to 160, AP will
 fail to startup due to the lack of non-DFS channel.
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch b/recipes-wifi/hostapd/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
index 5872b47..f0e881f 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
@@ -1,7 +1,7 @@
-From 4c6d148fea7cd1ea380a792d83d2dabe61e9c869 Mon Sep 17 00:00:00 2001
+From 30d8ea36c092540f7ba29f0b8bd7b6876c427ae0 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 17 Mar 2023 16:17:14 +0800
-Subject: [PATCH 26/29] hostapd: mtk: Add vendor for CAPI certification
+Subject: [PATCH 26/35] hostapd: mtk: Add vendor for CAPI certification
  commands
 
 ---
@@ -16,7 +16,7 @@
  8 files changed, 332 insertions(+), 30 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 87448e7..b0323e7 100644
+index 4c5d494..f338d0f 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
 @@ -38,6 +38,7 @@
@@ -27,7 +27,7 @@
  #include "crypto/tls.h"
  #include "drivers/driver.h"
  #include "eapol_auth/eapol_auth_sm.h"
-@@ -3727,6 +3728,96 @@ hostapd_ctrl_iface_get_aval_color_bmp(struct hostapd_data *hapd, char *buf,
+@@ -3726,6 +3727,96 @@ hostapd_ctrl_iface_get_aval_color_bmp(struct hostapd_data *hapd, char *buf,
  	return pos - buf;
  }
  
@@ -124,7 +124,7 @@
  
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
-@@ -4298,6 +4389,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4297,6 +4388,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_get_bss_color(hapd, reply, reply_size);
  	} else if (os_strncmp(buf, "AVAL_COLOR_BMP", 14) == 0) {
  		reply_len = hostapd_ctrl_iface_get_aval_color_bmp(hapd, reply, reply_size);
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch b/recipes-wifi/hostapd/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch
index eb17c61..1e36006 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch
@@ -1,7 +1,7 @@
-From 11fefdfadbc5bbdf0fcb4d890ea24906a286db43 Mon Sep 17 00:00:00 2001
+From 2e7059246e059c0ed4cb53906467d4f55df3b664 Mon Sep 17 00:00:00 2001
 From: mtk23888 <dipanshu.mittal@mediatek.com>
 Date: Tue, 4 Apr 2023 13:06:41 +0800
-Subject: [PATCH 27/29] hostapd: mtk: Air Monitor support in hostapd by vendor
+Subject: [PATCH 27/35] hostapd: mtk: Air Monitor support in hostapd by vendor
  NL
 
 Signed-off-by: mtk23888 <dipanshu.mittal@mediatek.com>
@@ -18,10 +18,10 @@
  9 files changed, 352 insertions(+)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index b0323e7..056583c 100644
+index f338d0f..7f91cb6 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3766,6 +3766,44 @@ hostapd_ctrl_iface_ap_wireless(struct hostapd_data *hapd, char *cmd,
+@@ -3765,6 +3765,44 @@ hostapd_ctrl_iface_ap_wireless(struct hostapd_data *hapd, char *cmd,
  
  	if (hostapd_drv_ap_wireless(hapd, (u8) sub_cmd, atoi(value)) != 0)
  		return -1;
@@ -66,7 +66,7 @@
  
  	return os_snprintf(buf, buflen, "OK\n");
  }
-@@ -3819,6 +3857,75 @@ exit:
+@@ -3818,6 +3856,75 @@ exit:
  	return os_snprintf(buf, buflen, "OK\n");
  }
  
@@ -142,7 +142,7 @@
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
  					      int reply_size,
-@@ -4393,6 +4500,12 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4392,6 +4499,12 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_ap_wireless(hapd, buf + 12, reply, reply_size);
  	} else if (os_strncmp(buf, "ap_rfeatures ", 13) == 0) {
  		reply_len = hostapd_ctrl_iface_ap_rfeatures(hapd, buf + 13, reply, reply_size);
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch b/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch
similarity index 67%
rename from recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
rename to recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch
index e9e12e9..6abcc52 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch
@@ -1,8 +1,8 @@
-From 38507640ec424ff6c9c552b0f3c2d068a6192146 Mon Sep 17 00:00:00 2001
+From 203fe076218129d727229a0eb71b6f5fb4c6e8a9 Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Fri, 28 Apr 2023 10:22:58 +0800
-Subject: [PATCH] hostapd: mtk: avoid setting beacon after wpa_supplicant stop
- the AP
+Subject: [PATCH 28/35] hostapd: mtk: Avoid setting beacon after wpa_supplicant
+ stop the AP
 
 Add a new variable 'stopped_by_supplicant' to indicate the AP
 interface is currently stopped by co-locating STA interface.
@@ -10,19 +10,19 @@
 will reload the co-locating AP interfaces and marks the
 'stopped_by_supplicant' as 0.
 ---
- hostapd/ctrl_iface.c   | 4 ++++
- src/ap/beacon.c        | 5 ++++-
- src/ap/bss_load.c      | 3 ++-
- src/ap/ctrl_iface_ap.c | 4 +++-
- src/ap/hostapd.c       | 2 ++
- src/ap/hostapd.h       | 1 +
- 6 files changed, 16 insertions(+), 3 deletions(-)
+ hostapd/ctrl_iface.c   |  4 ++++
+ src/ap/beacon.c        |  5 ++++-
+ src/ap/bss_load.c      | 10 +++++++---
+ src/ap/ctrl_iface_ap.c |  4 +++-
+ src/ap/hostapd.c       |  4 +++-
+ src/ap/hostapd.h       |  1 +
+ 6 files changed, 22 insertions(+), 6 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 4c5d494..07c97b5 100644
+index 7f91cb6..8c48d8f 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -192,11 +192,15 @@ static int hostapd_ctrl_iface_update(struct hostapd_data *hapd, char *txt)
+@@ -193,11 +193,15 @@ static int hostapd_ctrl_iface_update(struct hostapd_data *hapd, char *txt)
  {
  	struct hostapd_config * (*config_read_cb)(const char *config_fname);
  	struct hostapd_iface *iface = hapd->iface;
@@ -39,7 +39,7 @@
  
  	iface->interfaces->config_read_cb = config_read_cb;
 diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index 51db23a..187e314 100644
+index ad56046..c67d08b 100644
 --- a/src/ap/beacon.c
 +++ b/src/ap/beacon.c
 @@ -2125,7 +2125,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
@@ -69,19 +69,40 @@
  			ret = -1;
  	}
 diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
-index 725d3cd..ae55521 100644
+index 725d3cd..78fd9d8 100644
 --- a/src/ap/bss_load.c
 +++ b/src/ap/bss_load.c
-@@ -46,7 +46,8 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 	int err;
- 	struct hostapd_iface *iface = hapd->iface;
- 
--	if (!(hapd->beacon_set_done && hapd->started))
-+	if (!(hapd->beacon_set_done && hapd->started &&
-+	      !hapd->stopped_by_supplicant))
+@@ -49,6 +49,9 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 	if (!(hapd->beacon_set_done && hapd->started))
  		return;
  
++	if(hapd->stopped_by_supplicant)
++		goto skip_update;
++
  	err = hostapd_drv_get_survey(hapd, hapd->iface->freq);
+ 	if (err) {
+ 		wpa_printf(MSG_ERROR, "BSS Load: Failed to get survey data");
+@@ -57,9 +60,6 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 
+ 	ieee802_11_set_beacon(hapd);
+ 
+-	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
+-		return;
+-
+ 	if (hapd->conf->chan_util_avg_period) {
+ 		iface->chan_util_samples_sum += iface->channel_utilization;
+ 		iface->chan_util_num_sample_periods +=
+@@ -75,6 +75,10 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 		}
+ 	}
+ 
++skip_update:
++	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
++		return;
++
+ 	eloop_register_timeout(sec, usec, update_channel_utilization, hapd,
+ 			       NULL);
+ }
 diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
 index 2fae590..1ad37c5 100644
 --- a/src/ap/ctrl_iface_ap.c
@@ -99,7 +120,7 @@
  	return 0;
  }
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index ef0d6db..b2fd9b9 100644
+index ef0d6db..b372977 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -477,6 +477,7 @@ void hostapd_free_hapd_data(struct hostapd_data *hapd)
@@ -118,6 +139,15 @@
  
  	if (!first || first == -1) {
  		u8 *addr = hapd->own_addr;
+@@ -4015,7 +4017,7 @@ void hostapd_switch_color(struct hostapd_data *hapd, u64 bitmap)
+ {
+ 	struct os_reltime now;
+ 
+-	if (hapd->cca_in_progress)
++	if (hapd->cca_in_progress || hapd->stopped_by_supplicant)
+ 		return;
+ 
+ 	if (os_get_reltime(&now))
 diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
 index 093c28a..3b51050 100644
 --- a/src/ap/hostapd.h
@@ -131,5 +161,5 @@
  	u8 own_addr[ETH_ALEN];
  
 -- 
-2.25.1
+2.18.0
 
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch b/recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch
similarity index 87%
rename from recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch
rename to recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch
index 05f6dc8..c06f45e 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch
@@ -1,7 +1,7 @@
-From 38a7f0f985e33f24f0da234966f560e7136868cf Mon Sep 17 00:00:00 2001
+From a5f55beb2941f062a804f9185a0f13fda5d9196e Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 19 Apr 2023 17:18:33 +0800
-Subject: [PATCH 28/29] hostapd: mtk: Fix scan result updating issue
+Subject: [PATCH 29/35] hostapd: mtk: Fix scan result updating issue
 
 There are no HT capability and operation in beacon of AP operating in
 NOHT.
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch b/recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
similarity index 87%
rename from recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
rename to recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
index c2ef3f7..5cf0a25 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
@@ -1,7 +1,7 @@
-From 1814fca214ecf2a876734af789906e2316172ba8 Mon Sep 17 00:00:00 2001
+From d35d35ed5575bb31d614a7dee8afd24bc2b1fcfa Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 30 Mar 2023 17:03:03 +0800
-Subject: [PATCH 29/29] hostapd: mtk: Fix setting wrong seg0 index for 5G
+Subject: [PATCH 30/35] hostapd: mtk: Fix setting wrong seg0 index for 5G
  center chan 159 BW40
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch b/recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch
similarity index 95%
rename from recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch
rename to recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch
index c405a4d..0877ded 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch
@@ -1,7 +1,7 @@
-From 985f076026a2e4d7083272da975601be9b74d806 Mon Sep 17 00:00:00 2001
+From e947f264269a21994803aa324ef331bc696090c9 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 27 Apr 2023 15:28:43 +0800
-Subject: [PATCH] hostapd: mtk: Add muru user number debug command
+Subject: [PATCH 31/35] hostapd: mtk: Add muru user number debug command
 
 ---
  hostapd/ctrl_iface.c         | 11 ++++++++++-
@@ -14,10 +14,10 @@
  7 files changed, 53 insertions(+), 16 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index becb09c..3391015 100644
+index 8c48d8f..bf5eeb7 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3473,6 +3473,8 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
+@@ -3472,6 +3472,8 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
  					 char *buf, size_t buflen)
  {
  	char *pos, *config, *value;
@@ -26,7 +26,7 @@
  	config = cmd;
  	pos = os_strchr(config, ' ');
  	if (pos == NULL)
-@@ -3490,13 +3492,20 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
+@@ -3489,13 +3491,20 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
  			return -1;
  		}
  		hapd->iconf->mu_onoff = (u8) mu;
@@ -80,7 +80,7 @@
  int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
  int hostapd_drv_ibf_ctrl(struct hostapd_data *hapd);
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index b2fd9b9..49a1d30 100644
+index b372977..b1a7196 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -55,7 +55,7 @@
@@ -216,5 +216,5 @@
  #ifdef CONFIG_DPP
  	.dpp_listen = nl80211_dpp_listen,
 -- 
-2.39.0
+2.18.0
 
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch b/recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-CCA-issue.patch
similarity index 96%
rename from recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch
rename to recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-CCA-issue.patch
index 35a0b4d..35d4eeb 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-CCA-issue.patch
@@ -1,7 +1,7 @@
-From 7bd78e612a73df62599a3826eafd49fbc4138d10 Mon Sep 17 00:00:00 2001
+From f649b398a58e34fa2d299c454bf253bcceb9f1e9 Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 3 May 2023 14:55:18 +0800
-Subject: [PATCH] hostapd: mtk: Fix CCA issue
+Subject: [PATCH 32/35] hostapd: mtk: Fix CCA issue
 
 When receiving CCA-related nl80211 commands, hostapd used to work on
 struct wpa_driver_nl80211_data, whose ctx always points to
@@ -93,5 +93,5 @@
  #endif /* CONFIG_IEEE80211AX */
  	default:
 -- 
-2.25.1
+2.18.0
 
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch b/recipes-wifi/hostapd/files/patches/mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
similarity index 81%
rename from recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
rename to recipes-wifi/hostapd/files/patches/mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
index d3c7b26..060cd1d 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
@@ -1,7 +1,7 @@
-From f5e235b80b57583caf590c3745022327493675a6 Mon Sep 17 00:00:00 2001
+From 5ae87796b8e9d6836693ec0c70a5eba063b606b9 Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 3 May 2023 16:10:57 +0800
-Subject: [PATCH] hostapd: mtk: Fix unexpected AP beacon state transition
+Subject: [PATCH 33/35] hostapd: mtk: Fix unexpected AP beacon state transition
 
 When AP fails to set the beacon, it assigns bss->beacon_set to 0 no
 matter what the error number is.
@@ -18,10 +18,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 945ce3e..89c7d20 100644
+index 3d71405..e744a18 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -4912,7 +4912,8 @@ static int wpa_driver_nl80211_set_ap(void *priv,
+@@ -4976,7 +4976,8 @@ static int wpa_driver_nl80211_set_ap(void *priv,
  			   ret, strerror(-ret));
  		if (!bss->beacon_set)
  			ret = 0;
@@ -32,5 +32,5 @@
  		bss->beacon_set = 1;
  		nl80211_set_bss(bss, params->cts_protect, params->preamble,
 -- 
-2.25.1
+2.18.0
 
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch b/recipes-wifi/hostapd/files/patches/mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch
deleted file mode 100644
index c4172bb..0000000
--- a/recipes-wifi/hostapd/files/patches/mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 627b60aab19db40260366fae5c711adb2b09554e Mon Sep 17 00:00:00 2001
-From: Michael Lee <michael-cy.lee@mediatek.com>
-Date: Wed, 28 Jun 2023 11:08:12 +0800
-Subject: [PATCH] hostapd: mtk: register update_channel_utilization again
-
-The update_channel_utilization might be called when the bss is currently
-stopped by wpa_supplicant.
-In the original flow, the update_channel_utilization returns without
-register itself again, and channel utilization will not be updated for
-this bss anymore.
-This patch re-registers the update_channel_utilization again when the
-bss is stopped by wpa_supplicant.
-
-Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
----
- src/ap/bss_load.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
-index ae55521..f2a1a10 100644
---- a/src/ap/bss_load.c
-+++ b/src/ap/bss_load.c
-@@ -46,10 +46,12 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 	int err;
- 	struct hostapd_iface *iface = hapd->iface;
- 
--	if (!(hapd->beacon_set_done && hapd->started &&
--	      !hapd->stopped_by_supplicant))
-+	if (!(hapd->beacon_set_done && hapd->started))
- 		return;
- 
-+	if(!hapd->stopped_by_supplicant)
-+		goto skip_update;
-+
- 	err = hostapd_drv_get_survey(hapd, hapd->iface->freq);
- 	if (err) {
- 		wpa_printf(MSG_ERROR, "BSS Load: Failed to get survey data");
-@@ -58,9 +60,6 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 
- 	ieee802_11_set_beacon(hapd);
- 
--	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
--		return;
--
- 	if (hapd->conf->chan_util_avg_period) {
- 		iface->chan_util_samples_sum += iface->channel_utilization;
- 		iface->chan_util_num_sample_periods +=
-@@ -76,6 +75,10 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 		}
- 	}
- 
-+skip_update:
-+	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
-+		return;
-+
- 	eloop_register_timeout(sec, usec, update_channel_utilization, hapd,
- 			       NULL);
- }
--- 
-2.25.1
-
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch b/recipes-wifi/hostapd/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch
index 96522dd..2a44a8f 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch
+++ b/recipes-wifi/hostapd/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch
@@ -1,7 +1,7 @@
-From fba1094daa7efaea9e2e3e9342b6eb6bd00ca174 Mon Sep 17 00:00:00 2001
+From 3f674a6f2414a7c3e2e06ea561c04137355603a3 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 5 Jul 2023 10:47:20 +0800
-Subject: [PATCH 34/34] hostapd: mtk: Fix hostapd_dfs_start_cac log
+Subject: [PATCH 34/35] hostapd: mtk: Fix hostapd_dfs_start_cac log
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -9,10 +9,10 @@
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/src/ap/dfs.c b/src/ap/dfs.c
-index 6506d7a..c255978 100644
+index d688ecb..db8375e 100644
 --- a/src/ap/dfs.c
 +++ b/src/ap/dfs.c
-@@ -1655,9 +1655,11 @@ int hostapd_dfs_start_cac(struct hostapd_iface *iface, int freq,
+@@ -1627,9 +1627,11 @@ int hostapd_dfs_start_cac(struct hostapd_iface *iface, int freq,
  	/* TODO: How to check CAC time for ETSI weather channels? */
  	iface->dfs_cac_ms = 60000;
  	wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_CAC_START
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch b/recipes-wifi/hostapd/files/patches/mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch
new file mode 100644
index 0000000..160d146
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches/mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch
@@ -0,0 +1,51 @@
+From fb967d41b610096ef179b45cf85123de39c5665e Mon Sep 17 00:00:00 2001
+From: mtk20656 <chank.chen@mediatek.com>
+Date: Mon, 24 Jul 2023 11:30:27 +0800
+Subject: [PATCH 35/35] hostapd: mtk: add extension IE list for non-inherit IE
+ in mbssid
+
+Certain clients do not scan all non tx profiles due to absence of
+element ID extension list which is mandatory field in non inheritance
+IE. Non inheritance Element ID is followed by extension element ID.
+Length is expected to be mentioned. Currently we do not support any
+extension element and hence filling length as 0.
+
+Signed-off-by: mtk20656 <chank.chen@mediatek.com>
+---
+ src/ap/ieee802_11.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+index 30bfa30..f866b8a 100644
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -7657,7 +7657,7 @@ static size_t hostapd_eid_mbssid_elem_len(struct hostapd_data *hapd,
+ 		else if (hapd->conf->xrates_supported)
+ 			ie_count++;
+ 		if (ie_count)
+-			nontx_profile_len += (4 + ie_count);
++			nontx_profile_len += (5 + ie_count);
+ 
+ 		if ((len + nontx_profile_len) > 255)
+ 			goto mbssid_too_big;
+@@ -7792,11 +7792,16 @@ static u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8 *end,
+ 		}
+ 		if (ie_count) {
+ 			*eid++ = WLAN_EID_EXTENSION;
+-			*eid++ = 2 + ie_count;
++			*eid++ = 3 + ie_count;
+ 			*eid++ = WLAN_EID_EXT_NON_INHERITANCE;
+ 			*eid++ = ie_count;
+ 			os_memcpy(eid, non_inherit_ie, ie_count);
+ 			eid += ie_count;
++			/* Element ID extension list is mandatory part of non inheritance IE.
++			 * It has a length field followed by extension IEs. Currently no
++			 * extension IEs are supported so filling length as 0.
++			 */
++			*eid++ = 0;
+ 		}
+ 
+ 		*eid_len_pos = (eid - eid_len_pos) - 1;
+-- 
+2.18.0
+
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch b/recipes-wifi/hostapd/files/patches/mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch
new file mode 100644
index 0000000..fedc16d
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches/mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch
@@ -0,0 +1,32 @@
+From 401ff1eae9089808df328dd588d1ee01886abaa9 Mon Sep 17 00:00:00 2001
+From: Michael Lee <michael-cy.lee@mediatek.com>
+Date: Fri, 7 Jul 2023 17:14:40 +0800
+Subject: [PATCH] hostapd: mtk: Fix wpa_supplicant configuration parsing error
+
+In the original flow, after hostapd_config_tx_queue successfully
+parses a tx_queue variable, it would not return immediately. Then it
+would print out "unknow global field" later and set return val to -1.
+
+This patch returns immediately after hostapd_config_tx_queue
+successfully parses a tx_queue variable.
+
+Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
+---
+ wpa_supplicant/config.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
+index 994ee5e..0186011 100644
+--- a/wpa_supplicant/config.c
++++ b/wpa_supplicant/config.c
+@@ -5575,6 +5575,7 @@ int wpa_config_process_global(struct wpa_config *config, char *pos, int line)
+ 					   line);
+ 				return -1;
+ 			}
++			return ret;
+ 		}
+ 
+ 		if (os_strncmp(pos, "wmm_ac_", 7) == 0) {
+-- 
+2.25.1
+
diff --git a/recipes-wifi/hostapd/files/patches/patches.inc b/recipes-wifi/hostapd/files/patches/patches.inc
index cd5f8de..6078a05 100644
--- a/recipes-wifi/hostapd/files/patches/patches.inc
+++ b/recipes-wifi/hostapd/files/patches/patches.inc
@@ -89,12 +89,13 @@
     file://mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch \
     file://mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch \
     file://mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch \
-    file://mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch \
-    file://mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch \
-    file://mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch \
-    file://mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch \
-    file://mtk-0031-hostapd-mtk-Fix-CCA-issue.patch \
-    file://mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch \
-    file://mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch \
+    file://mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch \
+    file://mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch \
+    file://mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch \
+    file://mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch \
+    file://mtk-0032-hostapd-mtk-Fix-CCA-issue.patch \
+    file://mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch \
     file://mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch \
+    file://mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch \
+    file://mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch \
     "
diff --git a/recipes-wifi/libnl-tiny/libnl-tiny_git.bb b/recipes-wifi/libnl-tiny/libnl-tiny_git.bb
index cdfe026..d2a127b 100644
--- a/recipes-wifi/libnl-tiny/libnl-tiny_git.bb
+++ b/recipes-wifi/libnl-tiny/libnl-tiny_git.bb
@@ -5,7 +5,7 @@
 SECTION = "libs"
 
 SRC_URI = "git://git.openwrt.org/project/libnl-tiny.git"
-SRCREV = "d433990c00e804593f253cc709b8fe901492b530"
+SRCREV = "bc92a280186f9becc53c0f17e4e43cfbdeec7e7b"
 PV = "git${SRCPV}"
 
 inherit cmake pkgconfig
@@ -13,3 +13,4 @@
 
 FILES_SOLIBSDEV = ""
 FILES_${PN} += "${libdir}/*.so"
+INSANE_SKIP_${PN} += "dev-so"
\ No newline at end of file
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/bp-0001-mac80211-backport-add-gfp_t-parameter-to-ieeee80211_.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/bp-0001-mac80211-backport-add-gfp_t-parameter-to-ieeee80211_.patch
new file mode 100644
index 0000000..f04b76b
--- /dev/null
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/bp-0001-mac80211-backport-add-gfp_t-parameter-to-ieeee80211_.patch
@@ -0,0 +1,84 @@
+From 835759f27977dcc24ae98172b36caef2fd934901 Mon Sep 17 00:00:00 2001
+From: Evelyn Tsai <evelyn.tsai@mediatek.com>
+Date: Fri, 28 Jul 2023 06:12:20 +0800
+Subject: [PATCH 00/19] mac80211: backport: add gfp_t parameter to
+ ieeee80211_obss_color_collision_notify
+
+---
+ include/net/cfg80211.h | 4 ++--
+ include/net/mac80211.h | 3 ++-
+ net/mac80211/cfg.c     | 4 ++--
+ net/mac80211/rx.c      | 3 ++-
+ 4 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
+index 8e05f55..4277f96 100644
+--- a/include/net/cfg80211.h
++++ b/include/net/cfg80211.h
+@@ -8351,9 +8351,9 @@ int cfg80211_bss_color_notify(struct net_device *dev, gfp_t gfp,
+  * @color_bitmap: representations of the colors that the local BSS is aware of
+  */
+ static inline int cfg80211_obss_color_collision_notify(struct net_device *dev,
+-						       u64 color_bitmap)
++						       u64 color_bitmap, gfp_t gfp)
+ {
+-	return cfg80211_bss_color_notify(dev, GFP_KERNEL,
++	return cfg80211_bss_color_notify(dev, gfp,
+ 					 NL80211_CMD_OBSS_COLOR_COLLISION,
+ 					 0, color_bitmap);
+ }
+diff --git a/include/net/mac80211.h b/include/net/mac80211.h
+index 7edb0f0..04c0d09 100644
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -6879,10 +6879,11 @@ ieee80211_get_unsol_bcast_probe_resp_tmpl(struct ieee80211_hw *hw,
+  * @vif: &struct ieee80211_vif pointer from the add_interface callback.
+  * @color_bitmap: a 64 bit bitmap representing the colors that the local BSS is
+  *	aware of.
++ * @gfp: allocation flags
+  */
+ void
+ ieeee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
+-				       u64 color_bitmap);
++				       u64 color_bitmap, gfp_t gfp);
+ 
+ /**
+  * ieee80211_is_tx_data - check if frame is a data frame
+diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
+index 0711c75..79995f3 100644
+--- a/net/mac80211/cfg.c
++++ b/net/mac80211/cfg.c
+@@ -4406,14 +4406,14 @@ EXPORT_SYMBOL_GPL(ieee80211_color_change_finish);
+ 
+ void
+ ieeee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
+-				       u64 color_bitmap)
++				       u64 color_bitmap, gfp_t gfp)
+ {
+ 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
+ 
+ 	if (sdata->vif.color_change_active || sdata->vif.csa_active)
+ 		return;
+ 
+-	cfg80211_obss_color_collision_notify(sdata->dev, color_bitmap);
++	cfg80211_obss_color_collision_notify(sdata->dev, color_bitmap, gfp);
+ }
+ EXPORT_SYMBOL_GPL(ieeee80211_obss_color_collision_notify);
+ 
+diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
+index b991151..ac5afea 100644
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -3221,7 +3221,8 @@ ieee80211_rx_check_bss_color_collision(struct ieee80211_rx_data *rx)
+ 				      IEEE80211_HE_OPERATION_BSS_COLOR_MASK);
+ 		if (color == bss_conf->he_bss_color.color)
+ 			ieeee80211_obss_color_collision_notify(&rx->sdata->vif,
+-							       BIT_ULL(color));
++							       BIT_ULL(color),
++							       GFP_ATOMIC);
+ 	}
+ }
+ 
+-- 
+2.18.0
+
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0001-mac80211-mtk-do-not-setup-twt-when-twt-responder-is-.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0001-mac80211-mtk-do-not-setup-twt-when-twt-responder-is-.patch
index cf10b5b..1b0c5ac 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0001-mac80211-mtk-do-not-setup-twt-when-twt-responder-is-.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0001-mac80211-mtk-do-not-setup-twt-when-twt-responder-is-.patch
@@ -1,7 +1,7 @@
-From 22202726453e5648e92ec4bb0168076fac9e79c7 Mon Sep 17 00:00:00 2001
+From a5203b727516ebc2a7cddf1e7459be72892764cb Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Tue, 18 Jan 2022 20:29:44 +0800
-Subject: [PATCH 01/17] mac80211: mtk: do not setup twt when twt responder is
+Subject: [PATCH 01/19] mac80211: mtk: do not setup twt when twt responder is
  false
 
 ---
@@ -9,10 +9,10 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
-index b991151..eb16838 100644
+index ac5afea..230c4b0 100644
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -3283,6 +3283,9 @@ ieee80211_process_rx_twt_action(struct ieee80211_rx_data *rx)
+@@ -3284,6 +3284,9 @@ ieee80211_process_rx_twt_action(struct ieee80211_rx_data *rx)
  	if (sdata->vif.type != NL80211_IFTYPE_AP)
  		return false;
  
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0002-cfg80211-mtk-extend-CAC-time-for-weather-radar-chann.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0002-cfg80211-mtk-extend-CAC-time-for-weather-radar-chann.patch
index 8ea22c1..2975304 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0002-cfg80211-mtk-extend-CAC-time-for-weather-radar-chann.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0002-cfg80211-mtk-extend-CAC-time-for-weather-radar-chann.patch
@@ -1,7 +1,8 @@
-From 1eb46f8a687f8c458893c63344e63c63bcdb81f1 Mon Sep 17 00:00:00 2001
+From 6bd3d906bd48ebe0e65c7173af1c7f59e4230d04 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Tue, 29 Mar 2022 16:06:30 +0800
-Subject: [PATCH] cfg80211: mtk: extend CAC time for weather radar channels
+Subject: [PATCH 02/19] cfg80211: mtk: extend CAC time for weather radar
+ channels
 
 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -12,7 +13,7 @@
  3 files changed, 11 insertions(+)
 
 diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
-index 8e05f55..585d934 100644
+index 4277f96..d1a88e2 100644
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
 @@ -142,6 +142,7 @@ enum ieee80211_channel_flags {
@@ -24,7 +25,7 @@
  
  /**
 diff --git a/net/wireless/chan.c b/net/wireless/chan.c
-index 5f50ac4..51506f8 100644
+index 5f50ac4..c217276 100644
 --- a/net/wireless/chan.c
 +++ b/net/wireless/chan.c
 @@ -843,6 +843,13 @@ static unsigned int cfg80211_get_chans_dfs_cac_time(struct wiphy *wiphy,
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0003-mac80211-mtk-it-s-invalid-case-when-frag_threshold-i.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0003-mac80211-mtk-it-s-invalid-case-when-frag_threshold-i.patch
index 320b2ad..e06c0a0 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0003-mac80211-mtk-it-s-invalid-case-when-frag_threshold-i.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0003-mac80211-mtk-it-s-invalid-case-when-frag_threshold-i.patch
@@ -1,7 +1,7 @@
-From 3752aaaf5c78368fb0f8e7e567782d4ec55a4a14 Mon Sep 17 00:00:00 2001
+From fe00d31bd57181e9f9b0f6b10483e9193282be05 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Fri, 1 Apr 2022 09:15:21 +0800
-Subject: [PATCH 03/17] mac80211: mtk: it's invalid case when frag_threshold is
+Subject: [PATCH 03/19] mac80211: mtk: it's invalid case when frag_threshold is
  greater than 2346
 
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
@@ -10,7 +10,7 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
-index 3c6c1df..1292634 100644
+index bc07fe8..4631bb1 100644
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
 @@ -3495,6 +3495,9 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info)
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0004-mac80211-mtk-correct-legacy-rates-check-in-ieee80211.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0004-mac80211-mtk-correct-legacy-rates-check-in-ieee80211.patch
index d4bdd51..c2a1370 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0004-mac80211-mtk-correct-legacy-rates-check-in-ieee80211.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0004-mac80211-mtk-correct-legacy-rates-check-in-ieee80211.patch
@@ -1,7 +1,7 @@
-From 86cc94d1060840b23fc5ca362b72917cd8541a2e Mon Sep 17 00:00:00 2001
+From 6ebe31fadb5008b7b9591e1d2d1761aaf8e2885d Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <MeiChia.Chiu@mediatek.com>
 Date: Mon, 7 Mar 2022 15:18:00 +0800
-Subject: [PATCH 04/17] mac80211: mtk: correct legacy rates check in
+Subject: [PATCH 04/19] mac80211: mtk: correct legacy rates check in
  ieee80211_calc_rx_airtime
 
 There are no legacy rates on 60GHz or sub-1Ghz band, so modify the check.
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0005-mac80211-mtk-airtime_flags-depends-on-NL80211_EXT_FE.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0005-mac80211-mtk-airtime_flags-depends-on-NL80211_EXT_FE.patch
index d804171..9104818 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0005-mac80211-mtk-airtime_flags-depends-on-NL80211_EXT_FE.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0005-mac80211-mtk-airtime_flags-depends-on-NL80211_EXT_FE.patch
@@ -1,7 +1,7 @@
-From ab517887ba2464c9b27c600cd2930a539a791c2a Mon Sep 17 00:00:00 2001
+From cfd88f268f5d058e64d8b4b1d5e7ce391fa9ac25 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Wed, 19 Oct 2022 13:42:43 +0800
-Subject: [PATCH 05/17] mac80211: mtk: airtime_flags depends on
+Subject: [PATCH 05/19] mac80211: mtk: airtime_flags depends on
  NL80211_EXT_FEATURE
 
 Signed-off-by: Evelyn Tsai <evelyn.tsai@mediatek.com>
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0006-mac80211-mtk-add-support-for-runtime-set-inband-disc.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0006-mac80211-mtk-add-support-for-runtime-set-inband-disc.patch
index 9e5b682..cef8474 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0006-mac80211-mtk-add-support-for-runtime-set-inband-disc.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0006-mac80211-mtk-add-support-for-runtime-set-inband-disc.patch
@@ -1,7 +1,7 @@
-From 8f8598d2e6a82a2a1d43e8e86a8d43e185cd1807 Mon Sep 17 00:00:00 2001
+From 31a0ee224e1a8d9764c462e1ab1cc1a8775733be Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Wed, 19 Oct 2022 13:45:42 +0800
-Subject: [PATCH 06/17] mac80211: mtk: add support for runtime set inband
+Subject: [PATCH 06/19] mac80211: mtk: add support for runtime set inband
  discovery
 
 Signed-off-by: MeiChia Chiu <meichia.chiu@mediatek.com>
@@ -14,10 +14,10 @@
  5 files changed, 61 insertions(+), 5 deletions(-)
 
 diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
-index 8e05f55..ae2af09 100644
+index d1a88e2..1170703 100644
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
-@@ -1158,6 +1158,7 @@ struct cfg80211_fils_discovery {
+@@ -1159,6 +1159,7 @@ struct cfg80211_fils_discovery {
  	u32 max_interval;
  	size_t tmpl_len;
  	const u8 *tmpl;
@@ -26,7 +26,7 @@
  
  /**
 diff --git a/include/net/mac80211.h b/include/net/mac80211.h
-index 7edb0f0..587a1d6 100644
+index 04c0d09..4727393 100644
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
 @@ -505,6 +505,7 @@ struct ieee80211_ftm_responder_params {
@@ -50,7 +50,7 @@
  	/* keep last */
  	__NL80211_FILS_DISCOVERY_ATTR_LAST,
 diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index 0711c75..544dcf5 100644
+index 79995f3..e008a1e 100644
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
 @@ -906,6 +906,7 @@ static int ieee80211_set_fils_discovery(struct ieee80211_sub_if_data *sdata,
@@ -107,7 +107,7 @@
  }
  
 diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
-index 1292634..a20aba5 100644
+index 4631bb1..c41675f 100644
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
 @@ -421,6 +421,7 @@ nl80211_fils_discovery_policy[NL80211_FILS_DISCOVERY_ATTR_MAX + 1] = {
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0007-mac80211-mtk-add-s1g-category-to-_ieee80211_is_robus.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0007-mac80211-mtk-add-s1g-category-to-_ieee80211_is_robus.patch
index 647b3f5..a106c6c 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0007-mac80211-mtk-add-s1g-category-to-_ieee80211_is_robus.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0007-mac80211-mtk-add-s1g-category-to-_ieee80211_is_robus.patch
@@ -1,7 +1,7 @@
-From c45c2ccc4c042e5430d43ce4b6bf2b70d7d8f514 Mon Sep 17 00:00:00 2001
+From e7b1e74111386828cb21b22cd2273674cada075e Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 8 Jun 2022 10:26:39 +0800
-Subject: [PATCH 07/17] mac80211: mtk: add s1g category to
+Subject: [PATCH 07/19] mac80211: mtk: add s1g category to
  _ieee80211_is_robust_mgmt_frame
 
 Unprotected S1G with code 22 is not robust mgmt frame.
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0008-mac80211-mtk-make-4addr-null-frames-using-min_rate-f.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0008-mac80211-mtk-make-4addr-null-frames-using-min_rate-f.patch
index 37de852..180227b 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0008-mac80211-mtk-make-4addr-null-frames-using-min_rate-f.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0008-mac80211-mtk-make-4addr-null-frames-using-min_rate-f.patch
@@ -1,7 +1,7 @@
-From a8adfd3802d6dfa399405e1768aed02d53aac53a Mon Sep 17 00:00:00 2001
+From b3fd0abe777204781c02234fa481f3e8463f47cb Mon Sep 17 00:00:00 2001
 From: Lian Chen <lian.chen@mediatek.com>
 Date: Thu, 14 Jul 2022 16:33:58 +0800
-Subject: [PATCH 08/17] mac80211: mtk: make 4addr null frames using min_rate
+Subject: [PATCH 08/19] mac80211: mtk: make 4addr null frames using min_rate
  for WDS
 
 WDS needs 4addr packets to trigger AP for wlan0.sta creation.
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
index b872374..654c31d 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
@@ -1,8 +1,8 @@
-From cc87cfb17dfe07759d56dc3cd2fe05477cf3daa4 Mon Sep 17 00:00:00 2001
+From 822360269ad225fe0c1c1e39c50d572159edeb28 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 22 Sep 2022 14:27:41 +0800
-Subject: [PATCH] cfg80211: mtk: implement DFS status show, cac and nop skip
- command via debugfs
+Subject: [PATCH 09/19] cfg80211: mtk: implement DFS status show, cac and nop
+ skip command via debugfs
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -16,10 +16,10 @@
  7 files changed, 358 insertions(+), 7 deletions(-)
 
 diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
-index ae2af09..b97ddbd 100644
+index 1170703..77276db 100644
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
-@@ -4401,6 +4401,7 @@ struct cfg80211_ops {
+@@ -4402,6 +4402,7 @@ struct cfg80211_ops {
  				struct cfg80211_color_change_settings *params);
  	int	(*set_radar_background)(struct wiphy *wiphy,
  					struct cfg80211_chan_def *chandef);
@@ -28,7 +28,7 @@
  
  /*
 diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index 544dcf5..0a6257d 100644
+index e008a1e..2a173dd 100644
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
 @@ -4501,6 +4501,24 @@ ieee80211_set_radar_background(struct wiphy *wiphy,
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0010-mac80211-mtk-Set-TWT-Information-Frame-Disabled-bit-.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0010-mac80211-mtk-Set-TWT-Information-Frame-Disabled-bit-.patch
index c859a0d..f59878f 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0010-mac80211-mtk-Set-TWT-Information-Frame-Disabled-bit-.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0010-mac80211-mtk-Set-TWT-Information-Frame-Disabled-bit-.patch
@@ -1,7 +1,7 @@
-From 3bd97531ce8c3828b0ae570b11668e4c227bb940 Mon Sep 17 00:00:00 2001
+From a804ae4d0d5fc5ba75feae005c9f636ce2bedda9 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Tue, 4 Oct 2022 10:47:05 +0800
-Subject: [PATCH 10/17] mac80211: mtk: Set TWT Information Frame Disabled bit
+Subject: [PATCH 10/19] mac80211: mtk: Set TWT Information Frame Disabled bit
  as 1.
 
 This modification means that current implementation do not support twt information frame.
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0011-mac80211-mtk-check-the-control-channel-before-downgr.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0011-mac80211-mtk-check-the-control-channel-before-downgr.patch
index 0783ea5..63e7cf0 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0011-mac80211-mtk-check-the-control-channel-before-downgr.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0011-mac80211-mtk-check-the-control-channel-before-downgr.patch
@@ -1,7 +1,7 @@
-From ab3728fbce6284929abae90db4d2227a1c9fc3b0 Mon Sep 17 00:00:00 2001
+From 80b607df469b86f248e3f954b9cc9545895d8399 Mon Sep 17 00:00:00 2001
 From: mtk31095 <michael-cy.lee@mediatek.com>
 Date: Fri, 16 Dec 2022 10:37:53 +0800
-Subject: [PATCH 11/17] mac80211: mtk: check the control channel before
+Subject: [PATCH 11/19] mac80211: mtk: check the control channel before
  downgrading the bandwidth
 
 Signed-off-by: mtk31095 <michael-cy.lee@mediatek.com>
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0012-mac80211-mtk-fix-tx-amsdu-aggregation.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0012-mac80211-mtk-fix-tx-amsdu-aggregation.patch
index 57c5d93..60bafa6 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0012-mac80211-mtk-fix-tx-amsdu-aggregation.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0012-mac80211-mtk-fix-tx-amsdu-aggregation.patch
@@ -1,7 +1,7 @@
-From 21dcc00df24dc33301a3ad9749ddcb9f3b9d6d47 Mon Sep 17 00:00:00 2001
+From 2123cb199e2ea8b2153103a6b0340787cd5496ee Mon Sep 17 00:00:00 2001
 From: TomLiu <tomml.liu@mediatek.com>
 Date: Wed, 14 Dec 2022 00:26:50 -0800
-Subject: [PATCH 12/17] mac80211: mtk: fix tx amsdu aggregation
+Subject: [PATCH 12/19] mac80211: mtk: fix tx amsdu aggregation
 
 ---
  include/net/mac80211.h | 7 +++++++
@@ -9,7 +9,7 @@
  2 files changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/include/net/mac80211.h b/include/net/mac80211.h
-index 587a1d6..2c40833 100644
+index 4727393..7d824de 100644
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
 @@ -2668,6 +2668,13 @@ static inline void _ieee80211_hw_set(struct ieee80211_hw *hw,
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0013-mac80211-mtk-add-sta-assisted-DFS-state-update-mecha.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0013-mac80211-mtk-add-sta-assisted-DFS-state-update-mecha.patch
index c0bd42f..5bd6dfd 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0013-mac80211-mtk-add-sta-assisted-DFS-state-update-mecha.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0013-mac80211-mtk-add-sta-assisted-DFS-state-update-mecha.patch
@@ -1,7 +1,7 @@
-From 49f5a07866ca6a6be26cec9886e702d54308a78c Mon Sep 17 00:00:00 2001
+From 7a5c5d30c9f95cf990c415c4edb3359ac1c1ab5b Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 14:25:24 +0800
-Subject: [PATCH 13/17] mac80211: mtk: add sta-assisted DFS state update
+Subject: [PATCH 13/19] mac80211: mtk: add sta-assisted DFS state update
  mechanism
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -13,10 +13,10 @@
  4 files changed, 91 insertions(+)
 
 diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
-index b97ddbd..02ad2b2 100644
+index 77276db..03f072f 100644
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
-@@ -7641,6 +7641,20 @@ void cfg80211_cac_event(struct net_device *netdev,
+@@ -7642,6 +7642,20 @@ void cfg80211_cac_event(struct net_device *netdev,
  			const struct cfg80211_chan_def *chandef,
  			enum nl80211_radar_event event, gfp_t gfp);
  
@@ -98,7 +98,7 @@
  		/*
  		 * destroy assoc_data afterwards, as otherwise an idle
 diff --git a/net/wireless/chan.c b/net/wireless/chan.c
-index 5f50ac4..0309758 100644
+index c217276..9f651f9 100644
 --- a/net/wireless/chan.c
 +++ b/net/wireless/chan.c
 @@ -14,6 +14,7 @@
@@ -109,7 +109,7 @@
  
  static bool cfg80211_valid_60g_freq(u32 freq)
  {
-@@ -1386,3 +1387,62 @@ bool cfg80211_any_usable_channels(struct wiphy *wiphy,
+@@ -1393,3 +1394,62 @@ bool cfg80211_any_usable_channels(struct wiphy *wiphy,
  	return false;
  }
  EXPORT_SYMBOL(cfg80211_any_usable_channels);
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0014-nl80211-mtk-Mark-DFS-channel-as-available-for-CSA.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0014-nl80211-mtk-Mark-DFS-channel-as-available-for-CSA.patch
index a737760..f45b5a2 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0014-nl80211-mtk-Mark-DFS-channel-as-available-for-CSA.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0014-nl80211-mtk-Mark-DFS-channel-as-available-for-CSA.patch
@@ -1,17 +1,17 @@
-From 733a9401bcdc8b01fc7b914599da04d847d50417 Mon Sep 17 00:00:00 2001
+From 67a8f56b6182bd6fe6fd47d296447f6322152290 Mon Sep 17 00:00:00 2001
 From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
 Date: Fri, 17 Mar 2023 17:36:01 +0800
-Subject: [PATCH 14/17] nl80211: mtk: Mark DFS channel as available for CSA.
+Subject: [PATCH 14/19] nl80211: mtk: Mark DFS channel as available for CSA.
 
 ---
  net/wireless/nl80211.c | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
-index a20aba5..62698c2 100644
+index c41675f..0917713 100644
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
-@@ -9620,6 +9620,11 @@ skip_beacons:
+@@ -9616,6 +9616,11 @@ skip_beacons:
  	if (err)
  		goto free;
  
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0015-mac80211-mtk-track-obss-color-bitmap.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0015-mac80211-mtk-track-obss-color-bitmap.patch
index 18f7508..d309f6a 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0015-mac80211-mtk-track-obss-color-bitmap.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0015-mac80211-mtk-track-obss-color-bitmap.patch
@@ -1,7 +1,7 @@
-From 522654071f8ec8ae69eef5a9bac27f8e6b3f7597 Mon Sep 17 00:00:00 2001
+From 2f32a2318ed334c191f9336560e20d75bc1332ca Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 Date: Wed, 8 Mar 2023 06:23:55 +0800
-Subject: [PATCH 15/17] mac80211: mtk: track obss color bitmap
+Subject: [PATCH 15/19] mac80211: mtk: track obss color bitmap
 
 Track OBSS BSS color when receive their beacon.
 
@@ -11,12 +11,12 @@
 ---
  include/net/mac80211.h |  5 +++--
  net/mac80211/cfg.c     |  4 ++--
- net/mac80211/rx.c      |  9 +++++++--
+ net/mac80211/rx.c      |  7 ++++++-
  net/mac80211/trace.h   | 21 +++++++++++++++++++++
- 4 files changed, 33 insertions(+), 6 deletions(-)
+ 4 files changed, 32 insertions(+), 5 deletions(-)
 
 diff --git a/include/net/mac80211.h b/include/net/mac80211.h
-index 2c40833..1a26ccd 100644
+index 7d824de..ba19152 100644
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
 @@ -699,6 +699,7 @@ struct ieee80211_bss_conf {
@@ -36,17 +36,17 @@
   * collision.
   *
   * @vif: &struct ieee80211_vif pointer from the add_interface callback.
-@@ -6889,7 +6890,7 @@ ieee80211_get_unsol_bcast_probe_resp_tmpl(struct ieee80211_hw *hw,
-  *	aware of.
+@@ -6890,7 +6891,7 @@ ieee80211_get_unsol_bcast_probe_resp_tmpl(struct ieee80211_hw *hw,
+  * @gfp: allocation flags
   */
  void
 -ieeee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
 +ieee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
- 				       u64 color_bitmap);
+ 				       u64 color_bitmap, gfp_t gfp);
  
  /**
 diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index 0a6257d..86d231b 100644
+index 2a173dd..81cfaa6 100644
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
 @@ -4435,7 +4435,7 @@ void ieee80211_color_change_finish(struct ieee80211_vif *vif)
@@ -55,12 +55,12 @@
  void
 -ieeee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
 +ieee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
- 				       u64 color_bitmap)
+ 				       u64 color_bitmap, gfp_t gfp)
  {
  	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
 @@ -4445,7 +4445,7 @@ ieeee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
  
- 	cfg80211_obss_color_collision_notify(sdata->dev, color_bitmap);
+ 	cfg80211_obss_color_collision_notify(sdata->dev, color_bitmap, gfp);
  }
 -EXPORT_SYMBOL_GPL(ieeee80211_obss_color_collision_notify);
 +EXPORT_SYMBOL_GPL(ieee80211_obss_color_collision_notify);
@@ -68,10 +68,10 @@
  static int
  ieee80211_color_change(struct wiphy *wiphy, struct net_device *dev,
 diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
-index eb16838..36fcf97 100644
+index 230c4b0..feb9f90 100644
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -3219,9 +3219,14 @@ ieee80211_rx_check_bss_color_collision(struct ieee80211_rx_data *rx)
+@@ -3219,8 +3219,13 @@ ieee80211_rx_check_bss_color_collision(struct ieee80211_rx_data *rx)
  
  		color = le32_get_bits(he_oper->he_oper_params,
  				      IEEE80211_HE_OPERATION_BSS_COLOR_MASK);
@@ -82,12 +82,10 @@
 +
  		if (color == bss_conf->he_bss_color.color)
 -			ieeee80211_obss_color_collision_notify(&rx->sdata->vif,
--							       BIT_ULL(color));
 +			ieee80211_obss_color_collision_notify(&rx->sdata->vif,
-+				bss_conf->used_color_bitmap);
+ 							       BIT_ULL(color),
+ 							       GFP_ATOMIC);
  	}
- }
- 
 diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h
 index c34067c..d15dadd 100644
 --- a/net/mac80211/trace.h
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0016-mac80211-mtk-ageout-color-bitmap.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0016-mac80211-mtk-ageout-color-bitmap.patch
index 06d6d8b..a381688 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0016-mac80211-mtk-ageout-color-bitmap.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0016-mac80211-mtk-ageout-color-bitmap.patch
@@ -1,7 +1,7 @@
-From 61d499cf2de7201642cd7175b5c067b1e17309c2 Mon Sep 17 00:00:00 2001
+From 9d897fd1187c4c3be62b441b6fb81295eb2e7313 Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 Date: Wed, 8 Mar 2023 06:32:42 +0800
-Subject: [PATCH 16/17] mac80211: mtk: ageout color bitmap
+Subject: [PATCH 16/19] mac80211: mtk: ageout color bitmap
 
 Adding a periodic work which runs once per second to check BSS color.
 OBSS BSS Color will be ageout if not seen for 10 seconds.
@@ -14,7 +14,7 @@
  5 files changed, 43 insertions(+)
 
 diff --git a/include/net/mac80211.h b/include/net/mac80211.h
-index 1a26ccd..28ec7e8 100644
+index ba19152..3e50a72 100644
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
 @@ -700,6 +700,7 @@ struct ieee80211_bss_conf {
@@ -26,7 +26,7 @@
  	u32 unsol_bcast_probe_resp_interval;
  	bool s1g;
 diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index 86d231b..7449777 100644
+index 81cfaa6..95ca8a4 100644
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
 @@ -4425,6 +4425,35 @@ unlock:
@@ -123,7 +123,7 @@
  	for (i = 0; i < NUM_NL80211_BANDS; i++) {
  		struct ieee80211_supported_band *sband;
 diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
-index 36fcf97..838085f 100644
+index feb9f90..6d8ce15 100644
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
 @@ -3221,6 +3221,7 @@ ieee80211_rx_check_bss_color_collision(struct ieee80211_rx_data *rx)
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0017-mac80211-mtk-update-max_bssid_indicator-based-on-rea.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0017-mac80211-mtk-update-max_bssid_indicator-based-on-rea.patch
index 85a3320..e314a9d 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0017-mac80211-mtk-update-max_bssid_indicator-based-on-rea.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0017-mac80211-mtk-update-max_bssid_indicator-based-on-rea.patch
@@ -1,7 +1,7 @@
-From 52bbeb36a98ea83762908b19b3ba3ba3bf3eeb07 Mon Sep 17 00:00:00 2001
+From b20079072560a987e0248c960a6c0f2cdbbe8ab7 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 14 Apr 2023 06:55:22 +0800
-Subject: [PATCH 17/17] mac80211: mtk: update max_bssid_indicator based on real
+Subject: [PATCH 17/19] mac80211: mtk: update max_bssid_indicator based on real
  BSS numbers
 
 ---
@@ -9,7 +9,7 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index 7449777..b801df7 100644
+index 95ca8a4..56381f8 100644
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
 @@ -1073,8 +1073,7 @@ static int ieee80211_assign_beacon(struct ieee80211_sub_if_data *sdata,
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0018-mac80211-support-configurable-addba-resp-time.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0018-mac80211-mtk-support-configurable-addba-resp-time.patch
similarity index 89%
rename from recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0018-mac80211-support-configurable-addba-resp-time.patch
rename to recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0018-mac80211-mtk-support-configurable-addba-resp-time.patch
index 759d36b..a46f2cc 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0018-mac80211-support-configurable-addba-resp-time.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0018-mac80211-mtk-support-configurable-addba-resp-time.patch
@@ -1,7 +1,7 @@
-From 0236a4a01f3f3ed932ab326de0deef6911519dab Mon Sep 17 00:00:00 2001
+From aad4949a5c4e13a7bff49a4bfae2b5bc90e65143 Mon Sep 17 00:00:00 2001
 From: Lian Chen <lian.chen@mediatek.com>
 Date: Wed, 7 Jun 2023 15:30:34 +0800
-Subject: [PATCH] support configurable addba resp time.
+Subject: [PATCH 18/19] mac80211: mtk: support configurable addba resp time.
 
 ---
  net/mac80211/agg-tx.c | 8 +++++++-
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0019-mac80211-mtk-export-ieee80211_tpt_led_trig_tx-rx-for.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0019-mac80211-mtk-export-ieee80211_tpt_led_trig_tx-rx-for.patch
new file mode 100644
index 0000000..e6a298e
--- /dev/null
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0019-mac80211-mtk-export-ieee80211_tpt_led_trig_tx-rx-for.patch
@@ -0,0 +1,150 @@
+From 758c358967c017318904a48f82857b75c16e4973 Mon Sep 17 00:00:00 2001
+From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
+Date: Thu, 13 Jul 2023 08:27:37 +0800
+Subject: [PATCH 19/19] mac80211: mtk: export ieee80211_tpt_led_trig_tx/rx for
+ driver
+
+Whenever the H/W path is enabled and traffic is in the binding state,
+mac80211 is not aware of the traffic. Consequently, the LED does not
+blink for that reason.
+
+The ieee80211_tpt_led_trig_tx/rx functions are exported for the driver
+so that we can report the tx and rx bytes from the driver when
+the H/W path is being used.
+
+Signed-off-by: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
+---
+ include/net/mac80211.h | 17 +++++++++++++++++
+ net/mac80211/led.c     | 16 ++++++++++++++++
+ net/mac80211/led.h     | 17 -----------------
+ net/mac80211/rx.c      |  2 +-
+ net/mac80211/tx.c      |  4 ++--
+ 5 files changed, 36 insertions(+), 20 deletions(-)
+
+diff --git a/include/net/mac80211.h b/include/net/mac80211.h
+index 3e50a72..91affd5 100644
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -4404,6 +4404,8 @@ __ieee80211_create_tpt_led_trigger(struct ieee80211_hw *hw,
+ 				   unsigned int flags,
+ 				   const struct ieee80211_tpt_blink *blink_table,
+ 				   unsigned int blink_table_len);
++void __ieee80211_tpt_led_trig_tx(struct ieee80211_hw *hw, int bytes);
++void __ieee80211_tpt_led_trig_rx(struct ieee80211_hw *hw, int bytes);
+ #endif
+ /**
+  * ieee80211_get_tx_led_name - get name of TX LED
+@@ -4514,6 +4516,21 @@ ieee80211_create_tpt_led_trigger(struct ieee80211_hw *hw, unsigned int flags,
+ #endif
+ }
+ 
++static inline void
++ieee80211_tpt_led_trig_tx(struct ieee80211_hw *hw, int bytes)
++{
++#ifdef CPTCFG_MAC80211_LEDS
++	__ieee80211_tpt_led_trig_tx(hw, bytes);
++#endif
++}
++
++static inline void
++ieee80211_tpt_led_trig_rx(struct ieee80211_hw *hw, int bytes)
++{
++#ifdef CPTCFG_MAC80211_LEDS
++	__ieee80211_tpt_led_trig_rx(hw, bytes);
++#endif
++}
+ /**
+  * ieee80211_unregister_hw - Unregister a hardware device
+  *
+diff --git a/net/mac80211/led.c b/net/mac80211/led.c
+index a28ba6d..219bde6 100644
+--- a/net/mac80211/led.c
++++ b/net/mac80211/led.c
+@@ -364,6 +364,22 @@ __ieee80211_create_tpt_led_trigger(struct ieee80211_hw *hw,
+ }
+ EXPORT_SYMBOL(__ieee80211_create_tpt_led_trigger);
+ 
++void __ieee80211_tpt_led_trig_tx(struct ieee80211_hw *hw, int bytes)
++{
++	struct ieee80211_local *local = hw_to_local(hw);
++	if (atomic_read(&local->tpt_led_active))
++		local->tpt_led_trigger->tx_bytes += bytes;
++}
++EXPORT_SYMBOL(__ieee80211_tpt_led_trig_tx);
++
++void __ieee80211_tpt_led_trig_rx(struct ieee80211_hw *hw, int bytes)
++{
++	struct ieee80211_local *local = hw_to_local(hw);
++	if (atomic_read(&local->tpt_led_active))
++		local->tpt_led_trigger->rx_bytes += bytes;
++}
++EXPORT_SYMBOL(__ieee80211_tpt_led_trig_rx);
++
+ static void ieee80211_start_tpt_led_trig(struct ieee80211_local *local)
+ {
+ 	struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger;
+diff --git a/net/mac80211/led.h b/net/mac80211/led.h
+index 2abb1d0..b18ae9d 100644
+--- a/net/mac80211/led.h
++++ b/net/mac80211/led.h
+@@ -69,22 +69,5 @@ static inline void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local,
+ 					      unsigned int types_off)
+ {
+ }
+-#endif
+ 
+-static inline void
+-ieee80211_tpt_led_trig_tx(struct ieee80211_local *local, int bytes)
+-{
+-#ifdef CPTCFG_MAC80211_LEDS
+-	if (atomic_read(&local->tpt_led_active))
+-		local->tpt_led_trigger->tx_bytes += bytes;
+ #endif
+-}
+-
+-static inline void
+-ieee80211_tpt_led_trig_rx(struct ieee80211_local *local, int bytes)
+-{
+-#ifdef CPTCFG_MAC80211_LEDS
+-	if (atomic_read(&local->tpt_led_active))
+-		local->tpt_led_trigger->rx_bytes += bytes;
+-#endif
+-}
+diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
+index 6d8ce15..a9fcc7a 100644
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -5048,7 +5048,7 @@ void ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *pubsta,
+ 	if (skb) {
+ 		if ((status->flag & RX_FLAG_8023) ||
+ 			ieee80211_is_data_present(hdr->frame_control))
+-			ieee80211_tpt_led_trig_rx(local, skb->len);
++			ieee80211_tpt_led_trig_rx(&local->hw, skb->len);
+ 
+ 		if (status->flag & RX_FLAG_8023)
+ 			__ieee80211_rx_handle_8023(hw, pubsta, skb, list);
+diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
+index 9b66cc0..50ba10c 100644
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -4229,7 +4229,7 @@ void __ieee80211_subif_start_xmit(struct sk_buff *skb,
+ 	len = 0;
+  out:
+ 	if (len)
+-		ieee80211_tpt_led_trig_tx(local, len);
++		ieee80211_tpt_led_trig_tx(&local->hw, len);
+ 	rcu_read_unlock();
+ }
+ 
+@@ -4501,7 +4501,7 @@ static void ieee80211_8023_xmit(struct ieee80211_sub_if_data *sdata,
+ 	sta->tx_stats.packets[queue] += skbs;
+ 	sta->tx_stats.bytes[queue] += len;
+ 
+-	ieee80211_tpt_led_trig_tx(local, len);
++	ieee80211_tpt_led_trig_tx(&local->hw, len);
+ 
+ 	ieee80211_tx_8023(sdata, skb, sta, false);
+ 
+-- 
+2.18.0
+
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9900-mac80211-mtk-mask-kernel-version-limitation-and-fill.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9900-mac80211-mtk-mask-kernel-version-limitation-and-fill.patch
index 7495c0b..e6288ed 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9900-mac80211-mtk-mask-kernel-version-limitation-and-fill.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9900-mac80211-mtk-mask-kernel-version-limitation-and-fill.patch
@@ -1,7 +1,7 @@
-From 02d5d2c957efe75c9bd6a57c2644082c3b3e4e49 Mon Sep 17 00:00:00 2001
+From bad36168042569eb4c7ab6a549f7444a40e299c3 Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Fri, 11 Mar 2022 11:34:11 +0800
-Subject: [PATCH 9900/9902] mac80211: mtk: mask kernel version limitation and
+Subject: [PATCH 9900/9903] mac80211: mtk: mask kernel version limitation and
  fill forward path in kernel 5.4
 
 Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
@@ -13,7 +13,7 @@
  4 files changed, 10 deletions(-)
 
 diff --git a/include/net/mac80211.h b/include/net/mac80211.h
-index 28ec7e8..9c35e0b 100644
+index 91affd5..42192cd 100644
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
 @@ -4307,13 +4307,11 @@ struct ieee80211_ops {
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9901-mac80211-mtk-add-fill-receive-path-ops-to-get-wed-id.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9901-mac80211-mtk-add-fill-receive-path-ops-to-get-wed-id.patch
index a9d2762..75abcb8 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9901-mac80211-mtk-add-fill-receive-path-ops-to-get-wed-id.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9901-mac80211-mtk-add-fill-receive-path-ops-to-get-wed-id.patch
@@ -1,7 +1,7 @@
-From c99c0ad9d8ec47c1a24cbe500cc016be9aa1cbe3 Mon Sep 17 00:00:00 2001
+From 0161154c18a464bbb350bcb5ef620bd255940640 Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Wed, 18 May 2022 15:10:22 +0800
-Subject: [PATCH 9901/9902] mac80211: mtk: add fill receive path ops to get wed
+Subject: [PATCH 9901/9903] mac80211: mtk: add fill receive path ops to get wed
  idx
 
 Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
@@ -17,7 +17,7 @@
 diff --git a/include/net/mac80211.h b/include/net/mac80211.h
 old mode 100644
 new mode 100755
-index 9c35e0b..2ed355a
+index 42192cd..8a71026
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
 @@ -1798,6 +1798,13 @@ struct ieee80211_vif *wdev_to_ieee80211_vif(struct wireless_dev *wdev);
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9902-mac80211-mtk-add-support-for-letting-drivers-registe.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9902-mac80211-mtk-add-support-for-letting-drivers-registe.patch
index eebb33f..414693e 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9902-mac80211-mtk-add-support-for-letting-drivers-registe.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9902-mac80211-mtk-add-support-for-letting-drivers-registe.patch
@@ -1,7 +1,7 @@
-From 6132995c725ee7856c3fa1bd0415a10b56664c8e Mon Sep 17 00:00:00 2001
+From fdc7f27785b716eae1e02df73c095ecfe2677d9f Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Tue, 28 Mar 2023 10:53:31 +0800
-Subject: [PATCH 9902/9902] mac80211: mtk: add support for letting drivers
+Subject: [PATCH 9902/9903] mac80211: mtk: add support for letting drivers
  register tc offload support
 
 On newer MediaTek SoCs (e.g. MT7986), WLAN->WLAN or WLAN->Ethernet flows can
@@ -18,7 +18,7 @@
  5 files changed, 70 insertions(+), 1 deletion(-)
 
 diff --git a/include/net/mac80211.h b/include/net/mac80211.h
-index 2ed355a..ba1a817 100755
+index 8a71026..861bc9a 100755
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
 @@ -3984,6 +3984,10 @@ struct ieee80211_prep_tx_info {
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9903-mac80211-add-per-bss-flag-to-support-vendors-cou.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9903-mac80211-mtk-add-per-bss-flag-to-support-vendors-cou.patch
similarity index 91%
rename from recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9903-mac80211-add-per-bss-flag-to-support-vendors-cou.patch
rename to recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9903-mac80211-mtk-add-per-bss-flag-to-support-vendors-cou.patch
index 9c3586c..cefbd2c 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9903-mac80211-add-per-bss-flag-to-support-vendors-cou.patch
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-9903-mac80211-mtk-add-per-bss-flag-to-support-vendors-cou.patch
@@ -1,7 +1,8 @@
-From 0d9e675842ae495da9412694f4dc6b3cfa897140 Mon Sep 17 00:00:00 2001
+From 26b093ef1b3bcbd168216ea4d94baedfb1dd5366 Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Tue, 30 May 2023 15:36:33 +0800
-Subject: [PATCH] mtk: mac80211: add per-bss flag to support vendors counter
+Subject: [PATCH 9903/9903] mac80211: mtk: add per-bss flag to support vendors
+ counter
 
 Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
 ---
@@ -23,7 +24,7 @@
  	/* add new features before the definition below */
  	NUM_NL80211_EXT_FEATURES,
 diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
-index 838085f..e165ac6 100644
+index a9fcc7a..7304dbd 100644
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
 @@ -2641,7 +2641,9 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
@@ -37,7 +38,7 @@
  
  	if (rx->sta) {
  		/* The seqno index has the same property as needed
-@@ -4544,7 +4546,9 @@ static void ieee80211_rx_8023(struct ieee80211_rx_data *rx,
+@@ -4545,7 +4547,9 @@ static void ieee80211_rx_8023(struct ieee80211_rx_data *rx,
  
  	skb->dev = fast_rx->dev;
  
@@ -49,7 +50,7 @@
  	/* The seqno index has the same property as needed
  	 * for the rx_msdu field, i.e. it is IEEE80211_NUM_TIDS
 diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
-index 9b66cc0..5fb51fc 100644
+index 50ba10c..e071130 100644
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
 @@ -3454,7 +3454,9 @@ ieee80211_xmit_fast_finish(struct ieee80211_sub_if_data *sdata,
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc b/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
index 45790d3..715d51e 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
@@ -55,6 +55,7 @@
     file://782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch \
     file://783-sync-nl80211.patch \
     file://800-mac80211-mask-nested-A-MSDU-support-for-mesh.patch \
+    file://bp-0001-mac80211-backport-add-gfp_t-parameter-to-ieeee80211_.patch \
     file://mtk-0001-mac80211-mtk-do-not-setup-twt-when-twt-responder-is-.patch \
     file://mtk-0002-cfg80211-mtk-extend-CAC-time-for-weather-radar-chann.patch \
     file://mtk-0003-mac80211-mtk-it-s-invalid-case-when-frag_threshold-i.patch \
@@ -72,9 +73,10 @@
     file://mtk-0015-mac80211-mtk-track-obss-color-bitmap.patch \
     file://mtk-0016-mac80211-mtk-ageout-color-bitmap.patch \
     file://mtk-0017-mac80211-mtk-update-max_bssid_indicator-based-on-rea.patch \
-    file://mtk-0018-mac80211-support-configurable-addba-resp-time.patch \
+    file://mtk-0018-mac80211-mtk-support-configurable-addba-resp-time.patch \
+    file://mtk-0019-mac80211-mtk-export-ieee80211_tpt_led_trig_tx-rx-for.patch \
     file://mtk-9900-mac80211-mtk-mask-kernel-version-limitation-and-fill.patch \
     file://mtk-9901-mac80211-mtk-add-fill-receive-path-ops-to-get-wed-id.patch \
     file://mtk-9902-mac80211-mtk-add-support-for-letting-drivers-registe.patch \
-    file://mtk-9903-mac80211-add-per-bss-flag-to-support-vendors-cou.patch \
+    file://mtk-9903-mac80211-mtk-add-per-bss-flag-to-support-vendors-cou.patch \
     "
diff --git a/recipes-wifi/linux-mt76/files/patches/0001-wifi-mt76-mt7915-Update-beacon-size-limitation-for-1.patch b/recipes-wifi/linux-mt76/files/patches/0001-wifi-mt76-mt7915-Update-beacon-size-limitation-for-1.patch
index 3cae6ed..cc102c0 100644
--- a/recipes-wifi/linux-mt76/files/patches/0001-wifi-mt76-mt7915-Update-beacon-size-limitation-for-1.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0001-wifi-mt76-mt7915-Update-beacon-size-limitation-for-1.patch
@@ -1,7 +1,7 @@
-From de01138c9689f49a30908dfb2657fee979b738a2 Mon Sep 17 00:00:00 2001
+From 64caad5ad0bbb59c105b04436b078de13f30505d Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 23 Mar 2023 08:49:48 +0800
-Subject: [PATCH] wifi: mt76: mt7915: Update beacon size limitation for 11v
+Subject: [PATCH 1/8] wifi: mt76: mt7915: Update beacon size limitation for 11v
 
 Separate the beacon offload command into two;
 one is for beacons and the other is for inband discovery frames.
diff --git a/recipes-wifi/linux-mt76/files/patches/0002-wifi-mt76-mt7915-fix-the-beamformer-issue.patch b/recipes-wifi/linux-mt76/files/patches/0002-wifi-mt76-mt7915-fix-the-beamformer-issue.patch
index cb4d246..fe5b24f 100644
--- a/recipes-wifi/linux-mt76/files/patches/0002-wifi-mt76-mt7915-fix-the-beamformer-issue.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0002-wifi-mt76-mt7915-fix-the-beamformer-issue.patch
@@ -1,7 +1,7 @@
-From c3596dc615aed0ff22fe5eecc2962d5003deaeaa Mon Sep 17 00:00:00 2001
+From 6c3be50d5ede7f58bb6225bed563d14d815dd54f Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Wed, 12 Apr 2023 15:53:42 +0800
-Subject: [PATCH] wifi: mt76: mt7915: fix the beamformer issue
+Subject: [PATCH 2/8] wifi: mt76: mt7915: fix the beamformer issue
 
 without this patch, when ap sets the tx stream number to 2,
 ap doesn't send any beamform packets.
diff --git a/recipes-wifi/linux-mt76/files/patches/0003-wifi-mt76-fix-incorrect-HE-TX-GI-report.patch b/recipes-wifi/linux-mt76/files/patches/0003-wifi-mt76-fix-incorrect-HE-TX-GI-report.patch
index 12bb6ad..e15b23d 100644
--- a/recipes-wifi/linux-mt76/files/patches/0003-wifi-mt76-fix-incorrect-HE-TX-GI-report.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0003-wifi-mt76-fix-incorrect-HE-TX-GI-report.patch
@@ -1,7 +1,7 @@
-From a02364eee1308512fd25d3647238dd8da9cf3ae2 Mon Sep 17 00:00:00 2001
+From 1e7cc5cecfcf8f233742468d6b60e3619fbf9678 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Thu, 18 May 2023 18:11:37 +0800
-Subject: [PATCH 3/7] wifi: mt76: fix incorrect HE TX GI report
+Subject: [PATCH 3/8] wifi: mt76: fix incorrect HE TX GI report
 
 Change GI reporting source from static capability to rate-tuning module.
 
@@ -38,10 +38,10 @@
  	MT_PHY_TYPE_HE_EXT_SU,
  	MT_PHY_TYPE_HE_TB,
 diff --git a/mt7915/init.c b/mt7915/init.c
-index e156a3c..a47a980 100644
+index 688e6bc..5baa571 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
-@@ -656,6 +656,8 @@ mt7915_register_ext_phy(struct mt7915_dev *dev, struct mt7915_phy *phy)
+@@ -655,6 +655,8 @@ mt7915_register_ext_phy(struct mt7915_dev *dev, struct mt7915_phy *phy)
  	struct mt76_phy *mphy = phy->mt76;
  	int ret;
  
@@ -50,7 +50,7 @@
  	INIT_DELAYED_WORK(&mphy->mac_work, mt7915_mac_work);
  
  	mt7915_eeprom_parse_hw_cap(dev, phy);
-@@ -1188,6 +1190,8 @@ int mt7915_register_device(struct mt7915_dev *dev)
+@@ -1187,6 +1189,8 @@ int mt7915_register_device(struct mt7915_dev *dev)
  	dev->phy.dev = dev;
  	dev->phy.mt76 = &dev->mt76.phy;
  	dev->mt76.phy.priv = &dev->phy;
@@ -188,10 +188,10 @@
  
  	mt76_tx_status_check(mphy->dev, false);
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 0d94090..06e4291 100644
+index f741517..86f794f 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -708,6 +708,7 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -738,6 +738,7 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  
  	INIT_LIST_HEAD(&msta->rc_list);
  	INIT_LIST_HEAD(&msta->wcid.poll_list);
@@ -199,7 +199,7 @@
  	msta->vif = mvif;
  	msta->wcid.sta = 1;
  	msta->wcid.idx = idx;
-@@ -732,6 +733,7 @@ void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -762,6 +763,7 @@ void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  {
  	struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76);
  	struct mt7915_sta *msta = (struct mt7915_sta *)sta->drv_priv;
@@ -207,7 +207,7 @@
  	int i;
  
  	mt7915_mcu_add_sta(dev, vif, sta, false);
-@@ -748,6 +750,11 @@ void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -778,6 +780,11 @@ void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	if (!list_empty(&msta->rc_list))
  		list_del_init(&msta->rc_list);
  	spin_unlock_bh(&mdev->sta_poll_lock);
@@ -220,10 +220,10 @@
  
  static void mt7915_tx(struct ieee80211_hw *hw,
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index e820de6..87cc8d9 100644
+index f2ffa6c..e53d83b 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -3711,6 +3711,167 @@ out:
+@@ -3714,6 +3714,167 @@ out:
  	return ret;
  }
  
@@ -466,7 +466,7 @@
 +};
  #endif
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index fe46a36..6abe931 100644
+index 21984e9..3510dbc 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
 @@ -137,6 +137,7 @@ struct mt7915_sta {
@@ -477,7 +477,7 @@
  	u32 airtime_ac[8];
  
  	int ack_signal;
-@@ -210,6 +211,10 @@ struct mt7915_phy {
+@@ -224,6 +225,10 @@ struct mt7915_phy {
  	struct mt76_mib_stats mib;
  	struct mt76_channel_state state_ts;
  
@@ -488,7 +488,7 @@
  #ifdef CONFIG_NL80211_TESTMODE
  	struct {
  		u32 *reg_backup;
-@@ -479,6 +484,7 @@ int mt7915_mcu_get_chan_mib_info(struct mt7915_phy *phy, bool chan_switch);
+@@ -493,6 +498,7 @@ int mt7915_mcu_get_chan_mib_info(struct mt7915_phy *phy, bool chan_switch);
  int mt7915_mcu_get_temperature(struct mt7915_phy *phy);
  int mt7915_mcu_set_thermal_throttling(struct mt7915_phy *phy, u8 state);
  int mt7915_mcu_set_thermal_protect(struct mt7915_phy *phy);
diff --git a/recipes-wifi/linux-mt76/files/patches/0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch b/recipes-wifi/linux-mt76/files/patches/0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch
index a0b17c3..8c2f287 100644
--- a/recipes-wifi/linux-mt76/files/patches/0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch
@@ -1,7 +1,7 @@
-From 7982b31fabc8cecdc45e7b123c76997c4a323ca8 Mon Sep 17 00:00:00 2001
+From 57bb66bcdcbf591f14627988603e52cae8465633 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 17 May 2023 17:34:55 +0800
-Subject: [PATCH 4/7] wifi: mt76: mt7915: fix DFS CAC tx emission issue after
+Subject: [PATCH 4/8] wifi: mt76: mt7915: fix DFS CAC tx emission issue after
  interface down up
 
 FW's channel state is set during the first wifi interface setup. If the switch reason for
@@ -16,10 +16,10 @@
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 87cc8d9..4ac08d0 100644
+index e53d83b..bed4bdc 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -2732,12 +2732,12 @@ int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
+@@ -2735,12 +2735,12 @@ int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
  	if (mt76_connac_spe_idx(phy->mt76->antenna_mask))
  		req.tx_path_num = fls(phy->mt76->antenna_mask);
  
diff --git a/recipes-wifi/linux-mt76/files/patches/0005-wifi-mt76-mt7915-add-pc-stack-dump-for-WM-s-coredump.patch b/recipes-wifi/linux-mt76/files/patches/0005-wifi-mt76-mt7915-add-pc-stack-dump-for-WM-s-coredump.patch
index 3ac4b4b..2976565 100644
--- a/recipes-wifi/linux-mt76/files/patches/0005-wifi-mt76-mt7915-add-pc-stack-dump-for-WM-s-coredump.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0005-wifi-mt76-mt7915-add-pc-stack-dump-for-WM-s-coredump.patch
@@ -1,7 +1,7 @@
-From 086a3d4b3fb679e1a138bae4c86566edfd944902 Mon Sep 17 00:00:00 2001
+From 242ad39c7c7509c7486050d547723053a78b78b7 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Mon, 22 May 2023 13:49:37 +0800
-Subject: [PATCH 5/7] wifi: mt76: mt7915: add pc stack dump for WM's coredump.
+Subject: [PATCH 5/8] wifi: mt76: mt7915: add pc stack dump for WM's coredump.
 
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
 ---
@@ -594,10 +594,10 @@
  }
  
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 6abe931..4de3e05 100644
+index 3510dbc..eb66fcd 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -272,7 +272,7 @@ struct mt7915_dev {
+@@ -286,7 +286,7 @@ struct mt7915_dev {
  	struct mutex dump_mutex;
  #ifdef CONFIG_DEV_COREDUMP
  	struct {
diff --git a/recipes-wifi/linux-mt76/files/patches/0006-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch b/recipes-wifi/linux-mt76/files/patches/0006-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch
index fe833e5..2311cb2 100644
--- a/recipes-wifi/linux-mt76/files/patches/0006-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0006-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch
@@ -1,7 +1,7 @@
-From 50f77fea3f310a623f0fc3656f1a28a7e769c598 Mon Sep 17 00:00:00 2001
+From f9e99e0dec97a1dfb67e7f364d461ba15449a5e8 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 24 May 2023 10:17:38 +0800
-Subject: [PATCH 6/7] wifi: mt76: mt7915: update mpdu density in 2/5g
+Subject: [PATCH 6/8] wifi: mt76: mt7915: update mpdu density in 2/5g
  capability
 
 Set mpdu density to 2 usec to meet hardware capability
@@ -13,7 +13,7 @@
  1 file changed, 12 insertions(+), 4 deletions(-)
 
 diff --git a/mt7915/init.c b/mt7915/init.c
-index a47a980..75f8d96 100644
+index 5baa571..2eec451 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
 @@ -398,8 +398,12 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
@@ -45,8 +45,8 @@
  			vht_cap->cap |=
  				IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
  				IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
-@@ -423,6 +428,9 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
- 					IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ |
+@@ -422,6 +427,9 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
+ 					IEEE80211_VHT_CAP_SHORT_GI_160 |
  					FIELD_PREP(IEEE80211_VHT_CAP_EXT_NSS_BW_MASK, 1);
  		} else {
 +			phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
diff --git a/recipes-wifi/linux-mt76/files/patches/0008-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch b/recipes-wifi/linux-mt76/files/patches/0007-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch
similarity index 87%
rename from recipes-wifi/linux-mt76/files/patches/0008-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch
rename to recipes-wifi/linux-mt76/files/patches/0007-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch
index 112b099..1e1811f 100644
--- a/recipes-wifi/linux-mt76/files/patches/0008-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0007-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch
@@ -1,7 +1,7 @@
-From 7fdf5d384f377d0b7b1bb1aa441cebb98d3c61fa Mon Sep 17 00:00:00 2001
+From f15732280a08c2c9f5fb3b18b40fb047189830a5 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Thu, 13 Jul 2023 15:50:00 +0800
-Subject: [PATCH] wifi: mt76: mt7915: move temperature margin check to
+Subject: [PATCH 7/8] wifi: mt76: mt7915: move temperature margin check to
  mt7915_thermal_temp_store()
 
 Originally, we would reduce the 10-degree margin to the restore
@@ -17,7 +17,7 @@
  2 files changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/mt7915/init.c b/mt7915/init.c
-index 75f8d96d..3e9b082c 100644
+index 2eec451..bcd3717 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
 @@ -83,12 +83,13 @@ static ssize_t mt7915_thermal_temp_store(struct device *dev,
@@ -38,10 +38,10 @@
  		return -EINVAL;
  	}
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 146c3d64..820eb555 100644
+index bed4bdc..cc91df8 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -3148,8 +3148,7 @@ int mt7915_mcu_set_thermal_protect(struct mt7915_phy *phy)
+@@ -3147,8 +3147,7 @@ int mt7915_mcu_set_thermal_protect(struct mt7915_phy *phy)
  
  	/* set high-temperature trigger threshold */
  	req.ctrl.ctrl_id = THERMAL_PROTECT_ENABLE;
diff --git a/recipes-wifi/linux-mt76/files/patches/0008-wifi-mt76-mt7915-fix-tlv-length-of-mt7915_mcu_get_ch.patch b/recipes-wifi/linux-mt76/files/patches/0008-wifi-mt76-mt7915-fix-tlv-length-of-mt7915_mcu_get_ch.patch
new file mode 100644
index 0000000..9207b44
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/patches/0008-wifi-mt76-mt7915-fix-tlv-length-of-mt7915_mcu_get_ch.patch
@@ -0,0 +1,26 @@
+From bbbaae1770365a4bad36c31861f41857cf2c584c Mon Sep 17 00:00:00 2001
+From: Evelyn Tsai <evelyn.tsai@mediatek.com>
+Date: Fri, 28 Jul 2023 06:41:37 +0800
+Subject: [PATCH 8/8] wifi: mt76: mt7915: fix tlv length of
+ mt7915_mcu_get_chan_mib_info
+
+---
+ mt7915/mcu.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mt7915/mcu.c b/mt7915/mcu.c
+index cc91df8..a34b75d 100644
+--- a/mt7915/mcu.c
++++ b/mt7915/mcu.c
+@@ -3048,7 +3048,7 @@ int mt7915_mcu_get_chan_mib_info(struct mt7915_phy *phy, bool chan_switch)
+ 	}
+ 
+ 	ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_CMD(GET_MIB_INFO),
+-					req, sizeof(req), true, &skb);
++					req, len * sizeof(req[0]), true, &skb);
+ 	if (ret)
+ 		return ret;
+ 
+-- 
+2.18.0
+
diff --git a/recipes-wifi/linux-mt76/files/patches/0007-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch b/recipes-wifi/linux-mt76/files/patches/0999-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch
similarity index 98%
rename from recipes-wifi/linux-mt76/files/patches/0007-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch
rename to recipes-wifi/linux-mt76/files/patches/0999-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch
index 7fa9a8d..7d111a9 100644
--- a/recipes-wifi/linux-mt76/files/patches/0007-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0999-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch
@@ -1,7 +1,8 @@
-From ef4b8b36345cb50b5186ced6d2c09742f44e6719 Mon Sep 17 00:00:00 2001
+From cb562c01d7c29ea4b15d31153278b94670650ad0 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Sat, 1 Apr 2023 08:18:17 +0800
-Subject: [PATCH 7/7] wifi: mt76: mt7915: build pass for Linux Kernel 5.4 fixes
+Subject: [PATCH 0999/1034] wifi: mt76: mt7915: build pass for Linux Kernel 5.4
+ fixes
 
 ---
  debugfs.c         |  2 ++
@@ -526,10 +527,10 @@
  int mt76_connac_mcu_add_key(struct mt76_dev *dev, struct ieee80211_vif *vif,
  			    struct mt76_connac_sta_key_conf *sta_key_conf,
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 06e4291..251df80 100644
+index 86f794f..e403cd8 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -1361,22 +1361,19 @@ void mt7915_get_et_strings(struct ieee80211_hw *hw,
+@@ -1391,22 +1391,19 @@ void mt7915_get_et_strings(struct ieee80211_hw *hw,
  			   struct ieee80211_vif *vif,
  			   u32 sset, u8 *data)
  {
@@ -558,7 +559,7 @@
  }
  
  static void mt7915_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
-@@ -1404,7 +1401,7 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
+@@ -1434,7 +1431,7 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
  		.idx = mvif->mt76.idx,
  	};
  	/* See mt7915_ampdu_stat_read_phy, etc */
@@ -567,7 +568,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -1516,12 +1513,9 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
+@@ -1546,12 +1543,9 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
  		return;
  
  	ei += wi.worker_stat_count;
@@ -584,7 +585,7 @@
  
  static void
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 4ac08d0..6cf2a3f 100644
+index a34b75d..50b49e5 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -6,6 +6,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches/0999-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch b/recipes-wifi/linux-mt76/files/patches/1000-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch
similarity index 99%
rename from recipes-wifi/linux-mt76/files/patches/0999-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch
rename to recipes-wifi/linux-mt76/files/patches/1000-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch
index a1c270f..17a61a4 100644
--- a/recipes-wifi/linux-mt76/files/patches/0999-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1000-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch
@@ -1,7 +1,8 @@
-From 8f28d9cd21c2818902cd9bfe0d1cfed81401bcb9 Mon Sep 17 00:00:00 2001
+From e0c3012ad49a8abe5abd802eb50358af17a333fe Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 22 Jun 2022 10:39:47 +0800
-Subject: [PATCH] wifi: mt76: mt7915: add mtk internal debug tools for mt76
+Subject: [PATCH 1000/1034] wifi: mt76: mt7915: add mtk internal debug tools
+ for mt76
 
 ---
  mt76_connac_mcu.h     |    6 +
@@ -286,7 +287,7 @@
  		goto out;
  
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 146c3d6..d30923a 100644
+index 50b49e5..897e0dd 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -205,6 +205,11 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
@@ -313,7 +314,7 @@
  {
  #define RED_DISABLE		0
  #define RED_BY_WA_ENABLE	2
-@@ -3352,6 +3360,8 @@ int mt7915_mcu_set_sku_en(struct mt7915_phy *phy, bool enable)
+@@ -3351,6 +3359,8 @@ int mt7915_mcu_set_sku_en(struct mt7915_phy *phy, bool enable)
  		.sku_enable = enable,
  	};
  
@@ -322,7 +323,7 @@
  	return mt76_mcu_send_msg(&dev->mt76,
  				 MCU_EXT_CMD(TX_POWER_FEATURE_CTRL), &req,
  				 sizeof(req), true);
-@@ -4006,6 +4016,23 @@ out:
+@@ -4005,6 +4015,23 @@ out:
  	return ret;
  }
  
@@ -346,7 +347,7 @@
  int mt7915_mcu_rf_regval(struct mt7915_dev *dev, u32 regidx, u32 *val, bool set)
  {
  	struct {
-@@ -4034,3 +4061,22 @@ int mt7915_mcu_rf_regval(struct mt7915_dev *dev, u32 regidx, u32 *val, bool set)
+@@ -4033,3 +4060,22 @@ int mt7915_mcu_rf_regval(struct mt7915_dev *dev, u32 regidx, u32 *val, bool set)
  
  	return 0;
  }
diff --git a/recipes-wifi/linux-mt76/files/patches/1000-wifi-mt76-mt7915-csi-implement-csi-support.patch b/recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-csi-implement-csi-support.patch
similarity index 98%
rename from recipes-wifi/linux-mt76/files/patches/1000-wifi-mt76-mt7915-csi-implement-csi-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-csi-implement-csi-support.patch
index 4bb39a5..3658804 100644
--- a/recipes-wifi/linux-mt76/files/patches/1000-wifi-mt76-mt7915-csi-implement-csi-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-csi-implement-csi-support.patch
@@ -1,7 +1,7 @@
-From dc8113e03f94a498a28d5394e71e53f479ca5bc3 Mon Sep 17 00:00:00 2001
+From 250563fa173a364feca4302f5f500ab4d8aa5939 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Mon, 6 Jun 2022 20:13:02 +0800
-Subject: [PATCH 1000/1031] wifi: mt76: mt7915: csi: implement csi support
+Subject: [PATCH 1001/1034] wifi: mt76: mt7915: csi: implement csi support
 
 ---
  mt76_connac_mcu.h |   2 +
@@ -54,7 +54,7 @@
  mt7915e-$(CONFIG_NL80211_TESTMODE) += testmode.o
  mt7915e-$(CONFIG_MT798X_WMAC) += soc.o
 diff --git a/mt7915/init.c b/mt7915/init.c
-index 75f8d96..d42d17b 100644
+index bcd3717..39c904c 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
 @@ -686,6 +686,12 @@ mt7915_register_ext_phy(struct mt7915_dev *dev, struct mt7915_phy *phy)
@@ -132,7 +132,7 @@
  				   ARRAY_SIZE(mt76_rates));
  	if (ret)
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index fbbd848..4ef5190 100644
+index 897e0dd..8994ea6 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -40,6 +40,10 @@ static bool sr_scene_detect = true;
@@ -158,7 +158,7 @@
  	case MCU_EXT_EVENT_BCC_NOTIFY:
  		mt7915_mcu_rx_bcc_notify(dev, skb);
  		break;
-@@ -4013,6 +4022,108 @@ out:
+@@ -4015,6 +4024,108 @@ out:
  	return ret;
  }
  
@@ -354,10 +354,10 @@
 +
  #endif
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index b5e7c86..c2ac60c 100644
+index 51e1301..db9dbbe 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -229,6 +229,20 @@ struct mt7915_phy {
+@@ -243,6 +243,20 @@ struct mt7915_phy {
  		u8 spe_idx;
  	} test;
  #endif
@@ -378,7 +378,7 @@
  };
  
  struct mt7915_dev {
-@@ -608,6 +622,12 @@ void mt7915_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -622,6 +636,12 @@ void mt7915_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
  			 bool pci, int *irq);
  
diff --git a/recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-air-monitor-support.patch b/recipes-wifi/linux-mt76/files/patches/1002-wifi-mt76-mt7915-air-monitor-support.patch
similarity index 97%
rename from recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-air-monitor-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1002-wifi-mt76-mt7915-air-monitor-support.patch
index ee5db05..3b0dc08 100644
--- a/recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-air-monitor-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1002-wifi-mt76-mt7915-air-monitor-support.patch
@@ -1,7 +1,7 @@
-From 0f97cca7ee69e2c599504be05757e6897cd49982 Mon Sep 17 00:00:00 2001
+From d99c05d77a2e26a611a281138f38b1c631297302 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Tue, 11 Jan 2022 12:03:23 +0800
-Subject: [PATCH 1001/1031] wifi: mt76: mt7915: air monitor support
+Subject: [PATCH 1002/1034] wifi: mt76: mt7915: air monitor support
 
 ---
  mt76_connac_mcu.h |   2 +
@@ -41,10 +41,10 @@
  		status->flag |= RX_FLAG_8023;
  		mt7915_wed_check_ppe(dev, &dev->mt76.q_rx[q], msta, skb,
 diff --git a/mt7915/main.c b/mt7915/main.c
-index cc4ac94..fcddb36 100644
+index aa6a294..b002197 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -729,6 +729,9 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -759,6 +759,9 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	if (ret)
  		return ret;
  
@@ -55,10 +55,10 @@
  }
  
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index c2ac60c..7a9752f 100644
+index db9dbbe..01d487c 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -181,6 +181,35 @@ struct mt7915_hif {
+@@ -195,6 +195,35 @@ struct mt7915_hif {
  	int irq;
  };
  
@@ -94,7 +94,7 @@
  struct mt7915_phy {
  	struct mt76_phy *mt76;
  	struct mt7915_dev *dev;
-@@ -242,6 +271,8 @@ struct mt7915_phy {
+@@ -256,6 +285,8 @@ struct mt7915_phy {
  		u32 interval;
  		u32 last_record;
  	} csi;
@@ -103,7 +103,7 @@
  #endif
  };
  
-@@ -626,6 +657,9 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
+@@ -640,6 +671,9 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
  void mt7915_vendor_register(struct mt7915_phy *phy);
  int mt7915_mcu_set_csi(struct mt7915_phy *phy, u8 mode,
  			u8 cfg, u8 v1, u32 v2, u8 *mac_addr);
diff --git a/recipes-wifi/linux-mt76/files/patches/1002-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch b/recipes-wifi/linux-mt76/files/patches/1003-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch
similarity index 95%
rename from recipes-wifi/linux-mt76/files/patches/1002-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch
rename to recipes-wifi/linux-mt76/files/patches/1003-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch
index 339dd36..0d615f0 100644
--- a/recipes-wifi/linux-mt76/files/patches/1002-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1003-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch
@@ -1,7 +1,7 @@
-From 790ec4b2acef90cb57142b117c12aca25fa5ea41 Mon Sep 17 00:00:00 2001
+From d503bacb906bc15ff0d3f249ebb017ca85c59353 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Tue, 4 Apr 2023 02:23:57 +0800
-Subject: [PATCH] wifi: mt76: mt7915: add support for muru_onoff via
+Subject: [PATCH 1003/1034] wifi: mt76: mt7915: add support for muru_onoff via
 
 ---
  mt7915/init.c        |  2 ++
@@ -12,7 +12,7 @@
  5 files changed, 51 insertions(+), 2 deletions(-)
 
 diff --git a/mt7915/init.c b/mt7915/init.c
-index d42d17b..41f137c 100644
+index 39c904c..95683f3 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
 @@ -457,6 +457,8 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
@@ -25,7 +25,7 @@
  
  static void
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 1dd7863..4148bcd 100644
+index 8994ea6..fdb6bc5 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -873,6 +873,7 @@ mt7915_mcu_sta_muru_tlv(struct mt7915_dev *dev, struct sk_buff *skb,
diff --git a/recipes-wifi/linux-mt76/files/patches/1003-wifi-mt76-mt7915-certification-patches.patch b/recipes-wifi/linux-mt76/files/patches/1004-wifi-mt76-mt7915-certification-patches.patch
similarity index 98%
rename from recipes-wifi/linux-mt76/files/patches/1003-wifi-mt76-mt7915-certification-patches.patch
rename to recipes-wifi/linux-mt76/files/patches/1004-wifi-mt76-mt7915-certification-patches.patch
index ca89de1..cc949b9 100644
--- a/recipes-wifi/linux-mt76/files/patches/1003-wifi-mt76-mt7915-certification-patches.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1004-wifi-mt76-mt7915-certification-patches.patch
@@ -1,7 +1,7 @@
-From 63fe4d2540b6acd65461bcaea5cb5492b881b55f Mon Sep 17 00:00:00 2001
+From bc3868e836e0e1a57dcf4474d7ecf3766411fcf0 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Mon, 6 Jun 2022 20:15:51 +0800
-Subject: [PATCH 1003/1031] wifi: mt76: mt7915: certification patches
+Subject: [PATCH 1004/1034] wifi: mt76: mt7915: certification patches
 
 ---
  mt76_connac_mcu.h    |   1 +
@@ -76,10 +76,10 @@
  			       IEEE80211_RC_NSS_CHANGED |
  			       IEEE80211_RC_BW_CHANGED))
 diff --git a/mt7915/main.c b/mt7915/main.c
-index fcddb36..5e7dcae 100644
+index b002197..1ae497e 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -704,6 +704,9 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -734,6 +734,9 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7915_sta *msta = (struct mt7915_sta *)sta->drv_priv;
  	struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv;
  	bool ext_phy = mvif->phy != &dev->phy;
@@ -89,7 +89,7 @@
  	int ret, idx;
  
  	idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7915_WTBL_STA);
-@@ -732,7 +735,15 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -762,7 +765,15 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  #ifdef CONFIG_MTK_VENDOR
  	mt7915_vendor_amnt_sta_remove(mvif->phy, sta);
  #endif
@@ -107,10 +107,10 @@
  
  void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index a4a8194..3c3ea73 100644
+index fdb6bc5..929f9bb 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4128,6 +4128,472 @@ mt7915_mcu_report_csi(struct mt7915_dev *dev, struct sk_buff *skb)
+@@ -4130,6 +4130,472 @@ mt7915_mcu_report_csi(struct mt7915_dev *dev, struct sk_buff *skb)
  
  	return 0;
  }
@@ -818,10 +818,10 @@
  
  #endif
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 2befa44..3cff377 100644
+index 1663814..460764c 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -656,6 +656,19 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
+@@ -670,6 +670,19 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
  			 bool pci, int *irq);
  
  #ifdef CONFIG_MTK_VENDOR
@@ -842,7 +842,7 @@
  int mt7915_mcu_set_csi(struct mt7915_phy *phy, u8 mode,
  			u8 cfg, u8 v1, u32 v2, u8 *mac_addr);
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index e5fb2ce..0149706 100644
+index 41148c0..2f1bda0 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -2564,7 +2564,8 @@ static int mt7915_muru_onoff_get(void *data, u64 *val)
diff --git a/recipes-wifi/linux-mt76/files/patches/1004-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch b/recipes-wifi/linux-mt76/files/patches/1005-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch
similarity index 78%
rename from recipes-wifi/linux-mt76/files/patches/1004-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch
rename to recipes-wifi/linux-mt76/files/patches/1005-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch
index b36974e..da2d1f2 100644
--- a/recipes-wifi/linux-mt76/files/patches/1004-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1005-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch
@@ -1,7 +1,7 @@
-From 014d2a853950d9ca5ea5b450abf082f36ca6ed7b Mon Sep 17 00:00:00 2001
+From 46b59b82069d155792fb89c7160bcd7a32371c15 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 23 Mar 2023 09:55:50 +0800
-Subject: [PATCH 1004/1031] wifi: mt76: mt7915: add support for runtime set
+Subject: [PATCH 1005/1034] wifi: mt76: mt7915: add support for runtime set
  in-band discovery
 
 Signed-off-by: MeiChia Chiu <MeiChia.Chiu@mediatek.com>
@@ -10,10 +10,10 @@
  1 file changed, 2 insertions(+), 3 deletions(-)
 
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 3c3ea73..c21f30e 100644
+index 929f9bb..d5420cb 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -1934,8 +1934,7 @@ mt7915_mcu_add_inband_discov(struct mt7915_dev *dev, struct ieee80211_vif *vif,
+@@ -1937,8 +1937,7 @@ mt7915_mcu_add_inband_discov(struct mt7915_dev *dev, struct ieee80211_vif *vif,
  	bcn = (struct bss_info_bcn *)tlv;
  	bcn->enable = true;
  
@@ -23,7 +23,7 @@
  		interval = vif->bss_conf.fils_discovery.max_interval;
  		skb = ieee80211_get_fils_discovery_tmpl(hw, vif);
  	} else if (changed & BSS_CHANGED_UNSOL_BCAST_PROBE_RESP &&
-@@ -1969,7 +1968,7 @@ mt7915_mcu_add_inband_discov(struct mt7915_dev *dev, struct ieee80211_vif *vif,
+@@ -1972,7 +1971,7 @@ mt7915_mcu_add_inband_discov(struct mt7915_dev *dev, struct ieee80211_vif *vif,
  	discov->tx_type = !!(changed & BSS_CHANGED_FILS_DISCOVERY);
  	discov->tx_interval = interval;
  	discov->prob_rsp_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
diff --git a/recipes-wifi/linux-mt76/files/patches/1005-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch b/recipes-wifi/linux-mt76/files/patches/1006-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
similarity index 94%
rename from recipes-wifi/linux-mt76/files/patches/1005-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
rename to recipes-wifi/linux-mt76/files/patches/1006-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
index 3644ebe..fee0ffe 100644
--- a/recipes-wifi/linux-mt76/files/patches/1005-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1006-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
@@ -1,7 +1,7 @@
-From 9aa0bf50b22e4c6951cf3859c344a1e2caedb08d Mon Sep 17 00:00:00 2001
+From 4f69ec4d4ea08bcc24fcfbaada9e1f82d70800ea Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Tue, 4 Apr 2023 02:27:44 +0800
-Subject: [PATCH 1005/1031] wifi: mt76: mt7915: add mt76 vendor muru onoff
+Subject: [PATCH 1006/1034] wifi: mt76: mt7915: add mt76 vendor muru onoff
  command
 
 ---
@@ -12,10 +12,10 @@
  4 files changed, 63 insertions(+)
 
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index c21f30e..8c4ed60 100644
+index d5420cb..1f5f938 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4147,6 +4147,13 @@ void mt7915_set_wireless_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
+@@ -4149,6 +4149,13 @@ void mt7915_set_wireless_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
  		if (val == 0)
  			phy->muru_onoff = MUMIMO_DL_CERT | MUMIMO_DL;
  		break;
diff --git a/recipes-wifi/linux-mt76/files/patches/1006-wifi-mt76-mt7915-drop-undefined-action-frame.patch b/recipes-wifi/linux-mt76/files/patches/1007-wifi-mt76-mt7915-drop-undefined-action-frame.patch
similarity index 89%
rename from recipes-wifi/linux-mt76/files/patches/1006-wifi-mt76-mt7915-drop-undefined-action-frame.patch
rename to recipes-wifi/linux-mt76/files/patches/1007-wifi-mt76-mt7915-drop-undefined-action-frame.patch
index 465c631..7e6014c 100644
--- a/recipes-wifi/linux-mt76/files/patches/1006-wifi-mt76-mt7915-drop-undefined-action-frame.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1007-wifi-mt76-mt7915-drop-undefined-action-frame.patch
@@ -1,7 +1,7 @@
-From 3496d9a51ede8540e8378dc783535229aeebbc7e Mon Sep 17 00:00:00 2001
+From 75940025706b5548cbe0885e2a55fa134d99b328 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Thu, 14 Apr 2022 15:18:02 +0800
-Subject: [PATCH 1006/1031] wifi: mt76: mt7915: drop undefined action frame
+Subject: [PATCH 1007/1034] wifi: mt76: mt7915: drop undefined action frame
 
 ---
  mt7915/mac.c | 6 ++++++
diff --git a/recipes-wifi/linux-mt76/files/patches/1007-wifi-mt76-testmode-rework-testmode-init-registers.patch b/recipes-wifi/linux-mt76/files/patches/1008-wifi-mt76-testmode-rework-testmode-init-registers.patch
similarity index 99%
rename from recipes-wifi/linux-mt76/files/patches/1007-wifi-mt76-testmode-rework-testmode-init-registers.patch
rename to recipes-wifi/linux-mt76/files/patches/1008-wifi-mt76-testmode-rework-testmode-init-registers.patch
index 744fa72..6bb94e7 100644
--- a/recipes-wifi/linux-mt76/files/patches/1007-wifi-mt76-testmode-rework-testmode-init-registers.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1008-wifi-mt76-testmode-rework-testmode-init-registers.patch
@@ -1,7 +1,7 @@
-From 6e755239f1f0ed9bd8357cf0a0160d253ca70abd Mon Sep 17 00:00:00 2001
+From 03aeb960738e8e2cf518c1f88eebb386f650a7c6 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 6 Jun 2022 19:46:26 +0800
-Subject: [PATCH 1007/1031] wifi: mt76: testmode: rework testmode init
+Subject: [PATCH 1008/1034] wifi: mt76: testmode: rework testmode init
  registers
 
 ---
diff --git a/recipes-wifi/linux-mt76/files/patches/1008-wifi-mt76-testmode-additional-supports.patch b/recipes-wifi/linux-mt76/files/patches/1009-wifi-mt76-testmode-additional-supports.patch
similarity index 99%
rename from recipes-wifi/linux-mt76/files/patches/1008-wifi-mt76-testmode-additional-supports.patch
rename to recipes-wifi/linux-mt76/files/patches/1009-wifi-mt76-testmode-additional-supports.patch
index 11eb9ae..775357c 100644
--- a/recipes-wifi/linux-mt76/files/patches/1008-wifi-mt76-testmode-additional-supports.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1009-wifi-mt76-testmode-additional-supports.patch
@@ -1,7 +1,7 @@
-From 0f770281dfd6cb89550134c85e5ac36e41e5517c Mon Sep 17 00:00:00 2001
+From cb7a7eab3ffa42a0a7e0269cb857d710b39080ff Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 21 Apr 2022 15:43:19 +0800
-Subject: [PATCH 1008/1031] wifi: mt76: testmode: additional supports
+Subject: [PATCH 1009/1034] wifi: mt76: testmode: additional supports
 
 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -290,7 +290,7 @@
  				return ret;
  		}
 diff --git a/mt7915/init.c b/mt7915/init.c
-index 41f137c..09ee080 100644
+index 95683f3..63c0ecb 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
 @@ -717,7 +717,7 @@ static void mt7915_init_work(struct work_struct *work)
@@ -385,7 +385,7 @@
  		goto out;
  
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 5e7dcae..2e3d2f6 100644
+index 1ae497e..8cc342a 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -238,7 +238,7 @@ static int mt7915_add_interface(struct ieee80211_hw *hw,
@@ -398,7 +398,7 @@
  		mvif->mt76.wmm_idx += 2;
  
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 8c4ed60..2f716f3 100644
+index 1f5f938..6a5f204 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -389,6 +389,11 @@ mt7915_mcu_rx_ext_event(struct mt7915_dev *dev, struct sk_buff *skb)
@@ -421,7 +421,7 @@
  	     !rxd->seq) &&
  	     !(rxd->eid == MCU_CMD_EXT_CID &&
  	       rxd->ext_eid == MCU_EXT_EVENT_WA_TX_STAT))
-@@ -2752,7 +2758,8 @@ int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
+@@ -2755,7 +2761,8 @@ int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
  	}
  #endif
  
@@ -431,7 +431,7 @@
  		req.tx_path_num = fls(phy->mt76->antenna_mask);
  
  	if (dev->mt76.hw->conf.flags & IEEE80211_CONF_MONITOR)
-@@ -2820,21 +2827,21 @@ static int mt7915_mcu_set_eeprom_flash(struct mt7915_dev *dev)
+@@ -2823,21 +2830,21 @@ static int mt7915_mcu_set_eeprom_flash(struct mt7915_dev *dev)
  	return 0;
  }
  
@@ -456,7 +456,7 @@
  {
  	struct mt7915_mcu_eeprom_info req = {
  		.addr = cpu_to_le32(round_down(offset,
-@@ -2843,7 +2850,7 @@ int mt7915_mcu_get_eeprom(struct mt7915_dev *dev, u32 offset)
+@@ -2846,7 +2853,7 @@ int mt7915_mcu_get_eeprom(struct mt7915_dev *dev, u32 offset)
  	struct mt7915_mcu_eeprom_info *res;
  	struct sk_buff *skb;
  	int ret;
@@ -465,7 +465,7 @@
  
  	ret = mt76_mcu_send_and_get_msg(&dev->mt76,
  					MCU_EXT_QUERY(EFUSE_ACCESS),
-@@ -2852,8 +2859,11 @@ int mt7915_mcu_get_eeprom(struct mt7915_dev *dev, u32 offset)
+@@ -2855,8 +2862,11 @@ int mt7915_mcu_get_eeprom(struct mt7915_dev *dev, u32 offset)
  		return ret;
  
  	res = (struct mt7915_mcu_eeprom_info *)skb->data;
@@ -557,10 +557,10 @@
  	[AGG_PCR0]		= 0x040,
  	[AGG_ACR0]		= 0x054,
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 3cff377..84f75e7 100644
+index 460764c..3cc3323 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -258,6 +258,9 @@ struct mt7915_phy {
+@@ -272,6 +272,9 @@ struct mt7915_phy {
  		u8 last_snr;
  
  		u8 spe_idx;
@@ -570,7 +570,7 @@
  	} test;
  #endif
  
-@@ -354,6 +357,14 @@ struct mt7915_dev {
+@@ -368,6 +371,14 @@ struct mt7915_dev {
  	void __iomem *dcm;
  	void __iomem *sku;
  
@@ -585,7 +585,7 @@
  #ifdef MTK_DEBUG
  	u16 wlan_idx;
  	struct {
-@@ -526,8 +537,8 @@ int mt7915_mcu_set_fixed_rate_ctrl(struct mt7915_dev *dev,
+@@ -540,8 +551,8 @@ int mt7915_mcu_set_fixed_rate_ctrl(struct mt7915_dev *dev,
  				   struct ieee80211_vif *vif,
  				   struct ieee80211_sta *sta,
  				   void *data, u32 field);
@@ -596,7 +596,7 @@
  int mt7915_mcu_get_eeprom_free_block(struct mt7915_dev *dev, u8 *block_num);
  int mt7915_mcu_set_mac(struct mt7915_dev *dev, int band, bool enable,
  		       bool hdr_trans);
-@@ -566,6 +577,7 @@ int mt7915_mcu_fw_log_2_host(struct mt7915_dev *dev, u8 type, u8 ctrl);
+@@ -580,6 +591,7 @@ int mt7915_mcu_fw_log_2_host(struct mt7915_dev *dev, u8 type, u8 ctrl);
  int mt7915_mcu_fw_dbg_ctrl(struct mt7915_dev *dev, u32 module, u8 level);
  void mt7915_mcu_rx_event(struct mt7915_dev *dev, struct sk_buff *skb);
  void mt7915_mcu_exit(struct mt7915_dev *dev);
diff --git a/recipes-wifi/linux-mt76/files/patches/1009-wifi-mt76-testmode-add-pre-cal-support.patch b/recipes-wifi/linux-mt76/files/patches/1010-wifi-mt76-testmode-add-pre-cal-support.patch
similarity index 98%
rename from recipes-wifi/linux-mt76/files/patches/1009-wifi-mt76-testmode-add-pre-cal-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1010-wifi-mt76-testmode-add-pre-cal-support.patch
index a0bbf2c..312f88b 100644
--- a/recipes-wifi/linux-mt76/files/patches/1009-wifi-mt76-testmode-add-pre-cal-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1010-wifi-mt76-testmode-add-pre-cal-support.patch
@@ -1,7 +1,7 @@
-From 2471603cc433dfe9d5d9ba9f22e4692e4170a6a8 Mon Sep 17 00:00:00 2001
+From 91591e83b713917c8fd6e490c3f2477b89da704d Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 31 Aug 2022 20:06:52 +0800
-Subject: [PATCH 1009/1031] wifi: mt76: testmode: add pre-cal support
+Subject: [PATCH 1010/1034] wifi: mt76: testmode: add pre-cal support
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -113,7 +113,7 @@
  
  #endif
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 2f716f3..91a3710 100644
+index 6a5f204..b6f50da 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -393,6 +393,9 @@ mt7915_mcu_rx_ext_event(struct mt7915_dev *dev, struct sk_buff *skb)
@@ -126,7 +126,7 @@
  #endif
  	default:
  		break;
-@@ -2927,7 +2930,7 @@ int mt7915_mcu_apply_group_cal(struct mt7915_dev *dev)
+@@ -2930,7 +2933,7 @@ int mt7915_mcu_apply_group_cal(struct mt7915_dev *dev)
  	u8 idx = 0, *cal = dev->cal, *eep = dev->mt76.eeprom.data;
  	u32 total = MT_EE_CAL_GROUP_SIZE;
  
@@ -135,7 +135,7 @@
  		return 0;
  
  	/*
-@@ -3007,11 +3010,29 @@ int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy)
+@@ -3010,11 +3013,29 @@ int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy)
  {
  	struct mt7915_dev *dev = phy->dev;
  	struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
@@ -168,10 +168,10 @@
  
  	idx = mt7915_dpd_freq_idx(center_freq, chandef->width);
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 84f75e7..fcfe53f 100644
+index 3cc3323..78bc692 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -341,6 +341,10 @@ struct mt7915_dev {
+@@ -355,6 +355,10 @@ struct mt7915_dev {
  	struct rchan *relay_fwlog;
  
  	void *cal;
@@ -182,7 +182,7 @@
  
  	struct {
  		u8 debug_wm;
-@@ -578,6 +582,7 @@ int mt7915_mcu_fw_dbg_ctrl(struct mt7915_dev *dev, u32 module, u8 level);
+@@ -592,6 +596,7 @@ int mt7915_mcu_fw_dbg_ctrl(struct mt7915_dev *dev, u32 module, u8 level);
  void mt7915_mcu_rx_event(struct mt7915_dev *dev, struct sk_buff *skb);
  void mt7915_mcu_exit(struct mt7915_dev *dev);
  int mt7915_tm_txbf_status_read(struct mt7915_dev *dev, struct sk_buff *skb);
diff --git a/recipes-wifi/linux-mt76/files/patches/1010-wifi-mt76-testmode-add-iBF-command-mode-support.patch b/recipes-wifi/linux-mt76/files/patches/1011-wifi-mt76-testmode-add-iBF-command-mode-support.patch
similarity index 98%
rename from recipes-wifi/linux-mt76/files/patches/1010-wifi-mt76-testmode-add-iBF-command-mode-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1011-wifi-mt76-testmode-add-iBF-command-mode-support.patch
index acba084..e823e84 100644
--- a/recipes-wifi/linux-mt76/files/patches/1010-wifi-mt76-testmode-add-iBF-command-mode-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1011-wifi-mt76-testmode-add-iBF-command-mode-support.patch
@@ -1,7 +1,7 @@
-From d2566732630e8562709f3dc24069335fd551f821 Mon Sep 17 00:00:00 2001
+From 30872632a5a2add2f4c20f0ed4a6da16b4de4579 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 12 Sep 2022 18:16:54 +0800
-Subject: [PATCH 1010/1031] wifi: mt76: testmode: add iBF command mode support
+Subject: [PATCH 1011/1034] wifi: mt76: testmode: add iBF command mode support
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
diff --git a/recipes-wifi/linux-mt76/files/patches/1011-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch b/recipes-wifi/linux-mt76/files/patches/1012-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch
similarity index 98%
rename from recipes-wifi/linux-mt76/files/patches/1011-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1012-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch
index 1875c93..edbe00a 100644
--- a/recipes-wifi/linux-mt76/files/patches/1011-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1012-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch
@@ -1,7 +1,7 @@
-From 9067741d5a3b3ec88618912e243c192c419d518f Mon Sep 17 00:00:00 2001
+From 0f10c05d8ef5027386d60fe382ba5be6bd0157d0 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 27 Oct 2022 17:42:07 +0800
-Subject: [PATCH 1011/1031] wifi: mt76: testmode: add ZWDFS test mode support
+Subject: [PATCH 1012/1034] wifi: mt76: testmode: add ZWDFS test mode support
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -58,10 +58,10 @@
  
  enum {
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 91a3710..8203006 100644
+index b6f50da..020780d 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -2658,6 +2658,7 @@ mt7915_mcu_background_chain_ctrl(struct mt7915_phy *phy,
+@@ -2661,6 +2661,7 @@ mt7915_mcu_background_chain_ctrl(struct mt7915_phy *phy,
  		req.monitor_chan = chandef->chan->hw_value;
  		req.monitor_central_chan =
  			ieee80211_frequency_to_channel(chandef->center_freq1);
@@ -69,7 +69,7 @@
  		req.band_idx = phy->mt76->band_idx;
  		req.scan_mode = 2;
  		break;
-@@ -4697,3 +4698,68 @@ int mt7915_mcu_set_amsdu_algo(struct mt7915_dev *dev, u16 wcid, u8 enable)
+@@ -4699,3 +4700,68 @@ int mt7915_mcu_set_amsdu_algo(struct mt7915_dev *dev, u16 wcid, u8 enable)
  	return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD(MEC_CTRL), &req, sizeof(req), true);
  }
  #endif
@@ -196,10 +196,10 @@
  #define OFDMA_DL                       BIT(0)
  #define OFDMA_UL                       BIT(1)
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index fcfe53f..cdd1833 100644
+index 78bc692..1490c6e 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -242,6 +242,7 @@ struct mt7915_phy {
+@@ -256,6 +256,7 @@ struct mt7915_phy {
  
  	struct mt76_mib_stats mib;
  	struct mt76_channel_state state_ts;
@@ -207,7 +207,7 @@
  
  	u8 stats_work_count;
  	struct list_head stats_list;
-@@ -694,6 +695,9 @@ int mt7915_vendor_amnt_sta_remove(struct mt7915_phy *phy,
+@@ -708,6 +709,9 @@ int mt7915_vendor_amnt_sta_remove(struct mt7915_phy *phy,
  				  struct ieee80211_sta *sta);
  #endif
  
diff --git a/recipes-wifi/linux-mt76/files/patches/1012-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch b/recipes-wifi/linux-mt76/files/patches/1013-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch
similarity index 98%
rename from recipes-wifi/linux-mt76/files/patches/1012-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch
rename to recipes-wifi/linux-mt76/files/patches/1013-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch
index defa03f..9dfac5e 100644
--- a/recipes-wifi/linux-mt76/files/patches/1012-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1013-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch
@@ -1,7 +1,7 @@
-From 4e08b1f0bd72662d736b536b42ffe3221e1f0f3f Mon Sep 17 00:00:00 2001
+From 377acf39122d11310b2e29b48eda59ead08bc943 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 15 Dec 2022 19:45:18 +0800
-Subject: [PATCH 1012/1031] wifi: mt76: testmode: add iBF/eBF cal and cert
+Subject: [PATCH 1013/1034] wifi: mt76: testmode: add iBF/eBF cal and cert
  commands with golden
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -84,7 +84,7 @@
  	txwi[6] |= cpu_to_le32(val);
  #endif
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 2e3d2f6..bd49b21 100644
+index 8cc342a..905b704 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -205,46 +205,37 @@ static void mt7915_init_bitrate_mask(struct ieee80211_vif *vif)
@@ -146,7 +146,7 @@
  
  	dev->mt76.vif_mask |= BIT_ULL(mvif->mt76.idx);
  	phy->omac_mask |= BIT_ULL(mvif->mt76.omac_idx);
-@@ -278,7 +269,26 @@ static int mt7915_add_interface(struct ieee80211_hw *hw,
+@@ -279,7 +270,26 @@ static int mt7915_add_interface(struct ieee80211_hw *hw,
  	mt7915_mcu_add_sta(dev, vif, NULL, true);
  	rcu_assign_pointer(dev->mt76.wcid[idx], &mvif->sta.wcid);
  
@@ -175,7 +175,7 @@
  
  	return ret;
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 8203006..8d8255e 100644
+index 020780d..c8b97e8 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -199,6 +199,7 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
@@ -227,7 +227,7 @@
  
  	if (enable) {
  		mt7915_mcu_bss_rfch_tlv(skb, vif, phy);
-@@ -3429,6 +3443,7 @@ int mt7915_mcu_set_ser(struct mt7915_dev *dev, u8 action, u8 set, u8 band)
+@@ -3431,6 +3445,7 @@ int mt7915_mcu_set_ser(struct mt7915_dev *dev, u8 action, u8 set, u8 band)
  
  int mt7915_mcu_set_txbf(struct mt7915_dev *dev, u8 action)
  {
@@ -235,7 +235,7 @@
  	struct {
  		u8 action;
  		union {
-@@ -3455,7 +3470,6 @@ int mt7915_mcu_set_txbf(struct mt7915_dev *dev, u8 action)
+@@ -3457,7 +3472,6 @@ int mt7915_mcu_set_txbf(struct mt7915_dev *dev, u8 action)
  		.action = action,
  	};
  
@@ -243,7 +243,7 @@
  	switch (action) {
  	case MT_BF_SOUNDING_ON:
  		req.snd.snd_mode = MT_BF_PROCESSING;
-@@ -4590,6 +4604,9 @@ int mt7915_mcu_set_txbf_sound_info(struct mt7915_phy *phy, u8 action,
+@@ -4592,6 +4606,9 @@ int mt7915_mcu_set_txbf_sound_info(struct mt7915_phy *phy, u8 action,
  		req.he_opt = v2;
  		req.glo_opt = v3;
  		break;
@@ -468,10 +468,10 @@
  	[AGG_AALCR0]		= 0x028,
  	[AGG_AWSCR0]		= 0x030,
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index cdd1833..7bb7153 100644
+index 1490c6e..218aba9 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -260,7 +260,6 @@ struct mt7915_phy {
+@@ -274,7 +274,6 @@ struct mt7915_phy {
  
  		u8 spe_idx;
  
@@ -479,7 +479,7 @@
  		bool bf_ever_en;
  	} test;
  #endif
-@@ -362,7 +361,7 @@ struct mt7915_dev {
+@@ -376,7 +375,7 @@ struct mt7915_dev {
  	void __iomem *dcm;
  	void __iomem *sku;
  
@@ -488,7 +488,7 @@
  	struct {
  		void *txbf_phase_cal;
  		void *txbf_pfmu_data;
-@@ -500,6 +499,7 @@ void mt7915_dma_cleanup(struct mt7915_dev *dev);
+@@ -514,6 +513,7 @@ void mt7915_dma_cleanup(struct mt7915_dev *dev);
  int mt7915_dma_reset(struct mt7915_dev *dev, bool force);
  int mt7915_dma_start(struct mt7915_dev *dev, bool reset, bool wed_reset);
  int mt7915_txbf_init(struct mt7915_dev *dev);
@@ -496,7 +496,7 @@
  void mt7915_init_txpower(struct mt7915_dev *dev,
  			 struct ieee80211_supported_band *sband);
  void mt7915_reset(struct mt7915_dev *dev);
-@@ -582,8 +582,10 @@ int mt7915_mcu_fw_log_2_host(struct mt7915_dev *dev, u8 type, u8 ctrl);
+@@ -596,8 +596,10 @@ int mt7915_mcu_fw_log_2_host(struct mt7915_dev *dev, u8 type, u8 ctrl);
  int mt7915_mcu_fw_dbg_ctrl(struct mt7915_dev *dev, u32 module, u8 level);
  void mt7915_mcu_rx_event(struct mt7915_dev *dev, struct sk_buff *skb);
  void mt7915_mcu_exit(struct mt7915_dev *dev);
@@ -508,7 +508,7 @@
  
  static inline u16 mt7915_wtbl_size(struct mt7915_dev *dev)
  {
-@@ -718,4 +720,10 @@ enum {
+@@ -732,4 +734,10 @@ enum {
  
  #endif
  
@@ -520,7 +520,7 @@
 +
  #endif
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index 0149706..63b4ae0 100644
+index 2f1bda0..209ba67 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -2892,6 +2892,36 @@ mt7915_txpower_level_set(void *data, u64 val)
diff --git a/recipes-wifi/linux-mt76/files/patches/1013-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch b/recipes-wifi/linux-mt76/files/patches/1014-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch
similarity index 72%
rename from recipes-wifi/linux-mt76/files/patches/1013-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch
rename to recipes-wifi/linux-mt76/files/patches/1014-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch
index 72ea192..f576251 100644
--- a/recipes-wifi/linux-mt76/files/patches/1013-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1014-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch
@@ -1,7 +1,7 @@
-From dfdfc04bade216097db573acdeab7a0bdb17ed0a Mon Sep 17 00:00:00 2001
+From 26986c2b96b83413c747aec69b712dd47ccc750e Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Sun, 24 Apr 2022 10:07:00 +0800
-Subject: [PATCH 1013/1031] wifi: mt76: mt7915: init rssi in WTBL when add
+Subject: [PATCH 1014/1034] wifi: mt76: mt7915: init rssi in WTBL when add
  station
 
 ---
@@ -9,10 +9,10 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/mt7915/main.c b/mt7915/main.c
-index bd49b21..70ceb5d 100644
+index 905b704..b60ce65 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -718,6 +718,7 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -748,6 +748,7 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7915_phy *phy = ext_phy ? mt7915_ext_phy(dev) : &dev->phy;
  #endif
  	int ret, idx;
@@ -20,7 +20,7 @@
  
  	idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7915_WTBL_STA);
  	if (idx < 0)
-@@ -742,6 +743,9 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -772,6 +773,9 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	if (ret)
  		return ret;
  
diff --git a/recipes-wifi/linux-mt76/files/patches/1014-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch b/recipes-wifi/linux-mt76/files/patches/1015-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch
similarity index 83%
rename from recipes-wifi/linux-mt76/files/patches/1014-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch
rename to recipes-wifi/linux-mt76/files/patches/1015-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch
index 8b75f3d..caef347 100644
--- a/recipes-wifi/linux-mt76/files/patches/1014-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1015-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch
@@ -1,7 +1,7 @@
-From 58af0b3d79b19bb572121c089f40aa74c5262f20 Mon Sep 17 00:00:00 2001
+From b84fe834763e84b711d502aeec85532b8370d23c Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 6 May 2022 15:58:42 +0800
-Subject: [PATCH 1014/1031] wifi: mt76: connac: airtime fairness feature off in
+Subject: [PATCH 1015/1034] wifi: mt76: connac: airtime fairness feature off in
  mac80211
 
 ---
diff --git a/recipes-wifi/linux-mt76/files/patches/1015-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch b/recipes-wifi/linux-mt76/files/patches/1016-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch
similarity index 93%
rename from recipes-wifi/linux-mt76/files/patches/1015-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch
rename to recipes-wifi/linux-mt76/files/patches/1016-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch
index 978fb5d..f1d43c3 100644
--- a/recipes-wifi/linux-mt76/files/patches/1015-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1016-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch
@@ -1,7 +1,7 @@
-From 6ed8355ed9d1e4e8bd15c9ed3b1799ed25358240 Mon Sep 17 00:00:00 2001
+From 9ed84ddad9efb240a10ecaf187a91d4ddeef4b42 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Fri, 20 May 2022 19:19:25 +0800
-Subject: [PATCH 1015/1031] wifi: mt76: mt7915: add mt7986 and mt7916
+Subject: [PATCH 1016/1034] wifi: mt76: mt7915: add mt7986 and mt7916
  pre-calibration
 
 Add pre-calibration for mt7986 and mt7916. It has different data size
@@ -63,10 +63,10 @@
  	MT_EE_RATE_DELTA_5G =	0x29d,
  	MT_EE_TX0_POWER_2G =	0x2fc,
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 8d8255e..1bbcf42 100644
+index c8b97e8..fa2c691 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -2943,7 +2943,8 @@ static int mt7915_mcu_set_pre_cal(struct mt7915_dev *dev, u8 idx,
+@@ -2946,7 +2946,8 @@ static int mt7915_mcu_set_pre_cal(struct mt7915_dev *dev, u8 idx,
  int mt7915_mcu_apply_group_cal(struct mt7915_dev *dev)
  {
  	u8 idx = 0, *cal = dev->cal, *eep = dev->mt76.eeprom.data;
@@ -76,7 +76,7 @@
  
  	if (!(eep[offs] & MT_EE_WIFI_CAL_GROUP))
  		return 0;
-@@ -2981,9 +2982,9 @@ static int mt7915_find_freq_idx(const u16 *freqs, int n_freqs, u16 cur)
+@@ -2984,9 +2985,9 @@ static int mt7915_find_freq_idx(const u16 *freqs, int n_freqs, u16 cur)
  	return -1;
  }
  
@@ -88,7 +88,7 @@
  		5180, 5200, 5220, 5240,
  		5260, 5280, 5300, 5320,
  		5500, 5520, 5540, 5560,
-@@ -2991,34 +2992,69 @@ static int mt7915_dpd_freq_idx(u16 freq, u8 bw)
+@@ -2994,34 +2995,69 @@ static int mt7915_dpd_freq_idx(u16 freq, u8 bw)
  		5660, 5680, 5700, 5745,
  		5765, 5785, 5805, 5825
  	};
@@ -168,7 +168,7 @@
  }
  
  int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy)
-@@ -3050,24 +3086,24 @@ int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy)
+@@ -3053,24 +3089,24 @@ int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy)
  	if (!(eep[offs] & dpd_mask))
  		return 0;
  
diff --git a/recipes-wifi/linux-mt76/files/patches/1016-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch b/recipes-wifi/linux-mt76/files/patches/1017-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch
similarity index 96%
rename from recipes-wifi/linux-mt76/files/patches/1016-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch
rename to recipes-wifi/linux-mt76/files/patches/1017-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch
index e6bf515..27dd2a6 100644
--- a/recipes-wifi/linux-mt76/files/patches/1016-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1017-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch
@@ -1,7 +1,7 @@
-From 2dce2d65b1a25c230c82d45f9e809cf9c8526a8a Mon Sep 17 00:00:00 2001
+From 894dffeb6584d77008f5756e91c195544a62970c Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <Yi-Chia.Hsieh@mediatek.com>
 Date: Tue, 12 Jul 2022 10:04:35 -0700
-Subject: [PATCH 1016/1031] wifi: mt76: mt7915: add phy capability vendor
+Subject: [PATCH 1017/1034] wifi: mt76: mt7915: add phy capability vendor
  command
 
 ---
@@ -11,7 +11,7 @@
  3 files changed, 78 insertions(+)
 
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 7bb7153..d4e85cd 100644
+index 218aba9..7ec6e95 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
 @@ -11,6 +11,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches/1017-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch b/recipes-wifi/linux-mt76/files/patches/1018-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch
similarity index 96%
rename from recipes-wifi/linux-mt76/files/patches/1017-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch
rename to recipes-wifi/linux-mt76/files/patches/1018-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch
index d272113..ce9a209 100644
--- a/recipes-wifi/linux-mt76/files/patches/1017-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1018-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch
@@ -1,7 +1,7 @@
-From 0ad1449e3a5826799a8446a3b3082943bde83247 Mon Sep 17 00:00:00 2001
+From 6f9fcdfd8de6596ad006d278b072fb0793e88eaa Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Fri, 24 Jun 2022 11:15:45 +0800
-Subject: [PATCH 1017/1031] wifi: mt76: mt7915: add vendor subcmd EDCCA ctrl
+Subject: [PATCH 1018/1034] wifi: mt76: mt7915: add vendor subcmd EDCCA ctrl
  enable/threshold/compensation
 
 Change-Id: I06a3f94d5e444be894200e2b6588d76ed38d09d0
@@ -28,10 +28,10 @@
  	MCU_EXT_CMD_IPI_HIST_SCAN = 0xc5,
  };
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 70ceb5d..4b2c4d9 100644
+index b60ce65..fcd69ea 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -477,6 +477,9 @@ static int mt7915_config(struct ieee80211_hw *hw, u32 changed)
+@@ -478,6 +478,9 @@ static int mt7915_config(struct ieee80211_hw *hw, u32 changed)
  			mutex_unlock(&dev->mt76.mutex);
  		}
  #endif
@@ -42,10 +42,10 @@
  		ret = mt7915_set_channel(phy);
  		if (ret)
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 1bbcf42..a43543c 100644
+index fa2c691..96c4727 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4816,3 +4816,76 @@ int mt7915_mcu_ipi_hist_scan(struct mt7915_phy *phy, void *data, u8 mode, bool w
+@@ -4818,3 +4818,76 @@ int mt7915_mcu_ipi_hist_scan(struct mt7915_phy *phy, void *data, u8 mode, bool w
  
  	return 0;
  }
@@ -155,10 +155,10 @@
  
  #endif
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index d4e85cd..59a2e4f 100644
+index 7ec6e95..4e16363 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -697,7 +697,8 @@ void mt7915_vendor_amnt_fill_rx(struct mt7915_phy *phy, struct sk_buff *skb);
+@@ -711,7 +711,8 @@ void mt7915_vendor_amnt_fill_rx(struct mt7915_phy *phy, struct sk_buff *skb);
  int mt7915_vendor_amnt_sta_remove(struct mt7915_phy *phy,
  				  struct ieee80211_sta *sta);
  #endif
diff --git a/recipes-wifi/linux-mt76/files/patches/1018-wifi-mt76-mt7915-implement-bin-file-mode.patch b/recipes-wifi/linux-mt76/files/patches/1019-wifi-mt76-mt7915-implement-bin-file-mode.patch
similarity index 95%
rename from recipes-wifi/linux-mt76/files/patches/1018-wifi-mt76-mt7915-implement-bin-file-mode.patch
rename to recipes-wifi/linux-mt76/files/patches/1019-wifi-mt76-mt7915-implement-bin-file-mode.patch
index 723a881..9c919a5 100644
--- a/recipes-wifi/linux-mt76/files/patches/1018-wifi-mt76-mt7915-implement-bin-file-mode.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1019-wifi-mt76-mt7915-implement-bin-file-mode.patch
@@ -1,7 +1,7 @@
-From 03d79a9399ab4dab4f2624d07d79902224563938 Mon Sep 17 00:00:00 2001
+From 98621b9fa2c1c10ed08641c4002ac7e41b537826 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 7 Jul 2022 11:09:59 +0800
-Subject: [PATCH 1018/1031] wifi: mt76: mt7915: implement bin file mode
+Subject: [PATCH 1019/1034] wifi: mt76: mt7915: implement bin file mode
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
@@ -167,10 +167,10 @@
  mt7915_get_channel_group_5g(int channel, bool is_7976)
  {
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 59a2e4f..becd065 100644
+index 4e16363..192915f 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -335,6 +335,8 @@ struct mt7915_dev {
+@@ -349,6 +349,8 @@ struct mt7915_dev {
  
  	bool dbdc_support;
  	bool flash_mode;
@@ -179,7 +179,7 @@
  	bool muru_debug;
  	bool ibf;
  
-@@ -710,6 +712,7 @@ void mt7915_dump_tmac_info(u8 *tmac_info);
+@@ -724,6 +726,7 @@ void mt7915_dump_tmac_info(u8 *tmac_info);
  int mt7915_mcu_set_txpower_level(struct mt7915_phy *phy, u8 drop_level);
  void mt7915_packet_log_to_host(struct mt7915_dev *dev, const void *data, int len, int type, int des_len);
  int mt7915_mcu_set_amsdu_algo(struct mt7915_dev *dev, u16 wcid, u8 enable);
@@ -188,7 +188,7 @@
  #define PKT_BIN_DEBUG_MAGIC	0xc8763123
  enum {
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index 63b4ae0..f98667f 100644
+index 209ba67..47b511b 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -3,6 +3,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches/1019-wifi-mt76-mt7915-Add-mu-dump-support.patch b/recipes-wifi/linux-mt76/files/patches/1020-wifi-mt76-mt7915-Add-mu-dump-support.patch
similarity index 94%
rename from recipes-wifi/linux-mt76/files/patches/1019-wifi-mt76-mt7915-Add-mu-dump-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1020-wifi-mt76-mt7915-Add-mu-dump-support.patch
index 1a7fb1f..7beed92 100644
--- a/recipes-wifi/linux-mt76/files/patches/1019-wifi-mt76-mt7915-Add-mu-dump-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1020-wifi-mt76-mt7915-Add-mu-dump-support.patch
@@ -1,7 +1,7 @@
-From 92a5b059b029f74daa27c746f170f98cc8576a30 Mon Sep 17 00:00:00 2001
+From d0f792af884c04756fbe91de8e8fb18abc4cc9c3 Mon Sep 17 00:00:00 2001
 From: TomLiu <tomml.liu@mediatek.com>
 Date: Thu, 11 Aug 2022 18:09:45 -0700
-Subject: [PATCH 1019/1031] wifi: mt76: mt7915: Add mu dump support
+Subject: [PATCH 1020/1034] wifi: mt76: mt7915: Add mu dump support
 
 Change-Id: I521214f3feb6f0d528a9f550255050ffd1ec96d2
 ---
diff --git a/recipes-wifi/linux-mt76/files/patches/1020-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch b/recipes-wifi/linux-mt76/files/patches/1021-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch
similarity index 96%
rename from recipes-wifi/linux-mt76/files/patches/1020-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch
rename to recipes-wifi/linux-mt76/files/patches/1021-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch
index 3a2702d..79a5a9c 100644
--- a/recipes-wifi/linux-mt76/files/patches/1020-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1021-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch
@@ -1,7 +1,7 @@
-From 8c471e9dbac0f144255da57bfe937eb8f17be9f0 Mon Sep 17 00:00:00 2001
+From a5a0e9f833f2162ff30c1dd31aa86da138d318ff Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 28 Oct 2022 10:15:56 +0800
-Subject: [PATCH 1020/1031] wifi: mt76: mt7915: add vendor subcmd three wire
+Subject: [PATCH 1021/1034] wifi: mt76: mt7915: add vendor subcmd three wire
  (PTA) ctrl
 
 Change-Id: Ic1044698f294455594a0c6254f55326fdab90580
@@ -29,10 +29,10 @@
  	MCU_EXT_CMD_CSI_CTRL = 0xc2,
  	MCU_EXT_CMD_IPI_HIST_SCAN = 0xc5,
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index a43543c..ee951bc 100644
+index 96c4727..4aee126 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4515,37 +4515,33 @@ void mt7915_mcu_set_dynalgo(struct mt7915_phy *phy, u8 enable)
+@@ -4517,37 +4517,33 @@ void mt7915_mcu_set_dynalgo(struct mt7915_phy *phy, u8 enable)
  			&req, sizeof(req), false);
  }
  
@@ -134,10 +134,10 @@
  #define OFDMA_DL                       BIT(0)
  #define OFDMA_UL                       BIT(1)
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index becd065..f22d796 100644
+index 192915f..bac9ab9 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -691,6 +691,7 @@ void mt7915_mcu_set_mimo(struct mt7915_phy *phy, u8 direction);
+@@ -705,6 +705,7 @@ void mt7915_mcu_set_mimo(struct mt7915_phy *phy, u8 direction);
  void mt7915_mcu_set_dynalgo(struct mt7915_phy *phy, u8 enable);
  int mt7915_mcu_set_mu_edca(struct mt7915_phy *phy, u8 val);
  void mt7915_mcu_set_cert(struct mt7915_phy *phy, u8 type);
diff --git a/recipes-wifi/linux-mt76/files/patches/1021-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch b/recipes-wifi/linux-mt76/files/patches/1022-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch
similarity index 96%
rename from recipes-wifi/linux-mt76/files/patches/1021-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch
rename to recipes-wifi/linux-mt76/files/patches/1022-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch
index 3ae5f48..a1d3c84 100644
--- a/recipes-wifi/linux-mt76/files/patches/1021-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1022-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch
@@ -1,7 +1,7 @@
-From 67cc264ada370e3eaf488b3dcee1beae96d00ec4 Mon Sep 17 00:00:00 2001
+From 794e2ee3e918c25001f7ebd3116e932444844afd Mon Sep 17 00:00:00 2001
 From: mtk27835 <shurong.wen@mediatek.com>
 Date: Wed, 7 Sep 2022 14:01:29 -0700
-Subject: [PATCH 1021/1031] wifi: mt76: mt7915: add ibf control vendor cmd
+Subject: [PATCH 1022/1034] wifi: mt76: mt7915: add ibf control vendor cmd
 
 Signed-off-by: mtk27835 <shurong.wen@mediatek.com>
 ---
diff --git a/recipes-wifi/linux-mt76/files/patches/1022-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch b/recipes-wifi/linux-mt76/files/patches/1023-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch
similarity index 90%
rename from recipes-wifi/linux-mt76/files/patches/1022-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch
rename to recipes-wifi/linux-mt76/files/patches/1023-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch
index 7b5979c..a608ad9 100644
--- a/recipes-wifi/linux-mt76/files/patches/1022-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1023-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch
@@ -1,7 +1,7 @@
-From 8e91f74ba88b15f031d49d6af05334516f4fb767 Mon Sep 17 00:00:00 2001
+From 4546620f19e403f73257611fbdc9608dd2dd1dfb Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 30 Mar 2023 15:12:37 +0800
-Subject: [PATCH 1022/1031] wifi: mt76: mt7915: add E3 re-bonding for low yield
+Subject: [PATCH 1023/1034] wifi: mt76: mt7915: add E3 re-bonding for low yield
  rate issue
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -57,10 +57,10 @@
  	if (ret)
  		return ret;
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index f22d796..5e70b66 100644
+index bac9ab9..bbcdd93 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -489,6 +489,7 @@ u32 mt7915_wed_init_buf(void *ptr, dma_addr_t phys, int token_id);
+@@ -503,6 +503,7 @@ u32 mt7915_wed_init_buf(void *ptr, dma_addr_t phys, int token_id);
  
  int mt7915_register_device(struct mt7915_dev *dev);
  void mt7915_unregister_device(struct mt7915_dev *dev);
diff --git a/recipes-wifi/linux-mt76/files/patches/1023-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch b/recipes-wifi/linux-mt76/files/patches/1024-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch
similarity index 91%
rename from recipes-wifi/linux-mt76/files/patches/1023-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch
rename to recipes-wifi/linux-mt76/files/patches/1024-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch
index 5e25d7b..e538980 100644
--- a/recipes-wifi/linux-mt76/files/patches/1023-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1024-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch
@@ -1,7 +1,7 @@
-From 5aea18aadf208d42c34ffae42839f7b9d564d446 Mon Sep 17 00:00:00 2001
+From 042b3e9cd93ee01b8602d8d985a80646442d8578 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 14 Oct 2022 11:15:13 +0800
-Subject: [PATCH 1023/1031] wifi: mt76: mt7915: support on off SW ACI through
+Subject: [PATCH 1024/1034] wifi: mt76: mt7915: support on off SW ACI through
  debugfs
 
 Signed-off-by: Evelyn Tsai <evelyn.tsai@mediatek.com>
@@ -24,7 +24,7 @@
  	MCU_EXT_CMD_IPI_HIST_SCAN = 0xc5,
  };
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index f98667f..c8b677d 100644
+index 47b511b..9a42149 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -3644,6 +3644,25 @@ static int mt7915_show_eeprom_mode(struct seq_file *s, void *data)
diff --git a/recipes-wifi/linux-mt76/files/patches/1024-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch b/recipes-wifi/linux-mt76/files/patches/1025-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch
similarity index 63%
rename from recipes-wifi/linux-mt76/files/patches/1024-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1025-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch
index a4d902b..66708ea 100644
--- a/recipes-wifi/linux-mt76/files/patches/1024-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1025-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch
@@ -1,22 +1,38 @@
-From 9f9789d20b4956a7987409eeeb260c8977ddc0ff Mon Sep 17 00:00:00 2001
+From 485b78e6495b46b5f9adbabf99069f63217b37cd Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 5 Dec 2022 18:21:51 +0800
-Subject: [PATCH 1024/1031] wifi: mt76: mt7915: add bf backoff limit table
+Subject: [PATCH 1025/1034] wifi: mt76: mt7915: add bf backoff limit table
  support
 
 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
 ---
- eeprom.c         |  36 +++++++++++--
+ debugfs.c        |   2 +-
+ eeprom.c         |  38 ++++++++++++--
+ mac80211.c       |   2 +-
  mt76.h           |   8 +++
- mt7915/debugfs.c |  73 ++++++++++++++++++++++++--
- mt7915/main.c    |   1 +
+ mt7915/debugfs.c | 121 +++++++++++++++++++++++++++++++++----------
+ mt7915/init.c    |   2 +-
+ mt7915/main.c    |   3 +-
  mt7915/mcu.c     | 132 ++++++++++++++++++++++++++++++++++++-----------
- mt7915/mcu.h     |   6 +++
+ mt7915/mcu.h     |   8 ++-
  mt7915/mt7915.h  |   4 +-
- 7 files changed, 221 insertions(+), 39 deletions(-)
+ 10 files changed, 253 insertions(+), 67 deletions(-)
 
+diff --git a/debugfs.c b/debugfs.c
+index 4a8e186..4bb4679 100644
+--- a/debugfs.c
++++ b/debugfs.c
+@@ -95,7 +95,7 @@ void mt76_seq_puts_array(struct seq_file *file, const char *str,
+ {
+ 	int i;
+ 
+-	seq_printf(file, "%10s:", str);
++	seq_printf(file, "%16s:", str);
+ 	for (i = 0; i < len; i++)
+ 		seq_printf(file, " %2d", val[i]);
+ 	seq_puts(file, "\n");
 diff --git a/eeprom.c b/eeprom.c
-index 412740f..0e0c960 100644
+index 412740f..5cbd56f 100644
 --- a/eeprom.c
 +++ b/eeprom.c
 @@ -311,13 +311,17 @@ s8 mt76_get_rate_power_limits(struct mt76_phy *phy,
@@ -27,7 +43,7 @@
 +	s8 max_power = -127;
 +	s8 max_power_backoff = -127;
  	s8 txs_delta;
-+	int n_chains = hweight8(phy->antenna_mask);
++	int n_chains = hweight16(phy->chainmask);
 +	s8 target_power_combine = target_power + mt76_tx_power_nss_delta(n_chains);
  
  	if (!mcs_rates)
@@ -39,6 +55,15 @@
  
  	if (!IS_ENABLED(CONFIG_OF))
  		return target_power;
+@@ -349,7 +353,7 @@ s8 mt76_get_rate_power_limits(struct mt76_phy *phy,
+ 	if (!np)
+ 		return target_power;
+ 
+-	txs_delta = mt76_get_txs_delta(np, hweight8(phy->antenna_mask));
++	txs_delta = mt76_get_txs_delta(np, hweight16(phy->chainmask));
+ 
+ 	val = mt76_get_of_array(np, "rates-cck", &len, ARRAY_SIZE(dest->cck));
+ 	mt76_apply_array_limit(dest->cck, ARRAY_SIZE(dest->cck), val,
 @@ -370,7 +374,33 @@ s8 mt76_get_rate_power_limits(struct mt76_phy *phy,
  				     ARRAY_SIZE(dest->ru), val, len,
  				     target_power, txs_delta, &max_power);
@@ -74,6 +99,19 @@
  }
  EXPORT_SYMBOL_GPL(mt76_get_rate_power_limits);
  
+diff --git a/mac80211.c b/mac80211.c
+index ddc13dd..25ec433 100644
+--- a/mac80211.c
++++ b/mac80211.c
+@@ -1456,7 +1456,7 @@ int mt76_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ 		     int *dbm)
+ {
+ 	struct mt76_phy *phy = hw->priv;
+-	int n_chains = hweight8(phy->antenna_mask);
++	int n_chains = hweight16(phy->chainmask);
+ 	int delta = mt76_tx_power_nss_delta(n_chains);
+ 
+ 	*dbm = DIV_ROUND_UP(phy->txpower_cur + delta, 2);
 diff --git a/mt76.h b/mt76.h
 index b4e3429..2f801de 100644
 --- a/mt76.h
@@ -94,9 +132,21 @@
  
  struct mt76_ethtool_worker_info {
 diff --git a/mt7915/debugfs.c b/mt7915/debugfs.c
-index d66d104..2b63e56 100644
+index d66d104..19a37b5 100644
 --- a/mt7915/debugfs.c
 +++ b/mt7915/debugfs.c
+@@ -983,9 +983,9 @@ mt7915_xmit_queues_show(struct seq_file *file, void *data)
+ 
+ DEFINE_SHOW_ATTRIBUTE(mt7915_xmit_queues);
+ 
+-#define mt7915_txpower_puts(rate)						\
++#define mt7915_txpower_puts(rate, _len)						\
+ ({										\
+-	len += scnprintf(buf + len, sz - len, "%-16s:", #rate " (TMAC)");	\
++	len += scnprintf(buf + len, sz - len, "%-*s:", _len, #rate " (TMAC)");	\
+ 	for (i = 0; i < mt7915_sku_group_len[SKU_##rate]; i++, offs++)		\
+ 		len += scnprintf(buf + len, sz - len, " %6d", txpwr[offs]);	\
+ 	len += scnprintf(buf + len, sz - len, "\n");				\
 @@ -1019,7 +1019,7 @@ mt7915_rate_txpower_get(struct file *file, char __user *user_buf,
  	if (!buf)
  		return -ENOMEM;
@@ -106,7 +156,75 @@
  	if (ret)
  		goto out;
  
+@@ -1027,43 +1027,47 @@ mt7915_rate_txpower_get(struct file *file, char __user *user_buf,
+ 	len += scnprintf(buf + len, sz - len,
+ 			 "\nPhy%d Tx power table (channel %d)\n",
+ 			 phy != &dev->phy, phy->mt76->chandef.chan->hw_value);
+-	len += scnprintf(buf + len, sz - len, "%-16s  %6s %6s %6s %6s\n",
++	len += scnprintf(buf + len, sz - len, "%-23s  %6s %6s %6s %6s\n",
+ 			 " ", "1m", "2m", "5m", "11m");
+-	mt7915_txpower_puts(CCK);
++	mt7915_txpower_puts(CCK, 23);
+ 
-@@ -1129,7 +1129,7 @@ mt7915_rate_txpower_set(struct file *file, const char __user *user_buf,
+ 	len += scnprintf(buf + len, sz - len,
+-			 "%-16s  %6s %6s %6s %6s %6s %6s %6s %6s\n",
++			 "%-23s  %6s %6s %6s %6s %6s %6s %6s %6s\n",
+ 			 " ", "6m", "9m", "12m", "18m", "24m", "36m", "48m",
+ 			 "54m");
+-	mt7915_txpower_puts(OFDM);
++	mt7915_txpower_puts(OFDM, 23);
+ 
+ 	len += scnprintf(buf + len, sz - len,
+-			 "%-16s  %6s %6s %6s %6s %6s %6s %6s %6s\n",
++			 "%-23s  %6s %6s %6s %6s %6s %6s %6s %6s\n",
+ 			 " ", "mcs0", "mcs1", "mcs2", "mcs3", "mcs4",
+ 			 "mcs5", "mcs6", "mcs7");
+-	mt7915_txpower_puts(HT_BW20);
++	mt7915_txpower_puts(HT_BW20, 23);
+ 
+ 	len += scnprintf(buf + len, sz - len,
+-			 "%-16s  %6s %6s %6s %6s %6s %6s %6s %6s %6s\n",
++			 "%-23s  %6s %6s %6s %6s %6s %6s %6s %6s %6s\n",
+ 			 " ", "mcs0", "mcs1", "mcs2", "mcs3", "mcs4", "mcs5",
+ 			 "mcs6", "mcs7", "mcs32");
+-	mt7915_txpower_puts(HT_BW40);
++	mt7915_txpower_puts(HT_BW40, 23);
+ 
+ 	len += scnprintf(buf + len, sz - len,
+-			 "%-16s  %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s\n",
++			 "%-23s  %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s\n",
+ 			 " ", "mcs0", "mcs1", "mcs2", "mcs3", "mcs4", "mcs5",
+ 			 "mcs6", "mcs7", "mcs8", "mcs9", "mcs10", "mcs11");
+-	mt7915_txpower_puts(VHT_BW20);
+-	mt7915_txpower_puts(VHT_BW40);
+-	mt7915_txpower_puts(VHT_BW80);
+-	mt7915_txpower_puts(VHT_BW160);
+-	mt7915_txpower_puts(HE_RU26);
+-	mt7915_txpower_puts(HE_RU52);
+-	mt7915_txpower_puts(HE_RU106);
+-	mt7915_txpower_puts(HE_RU242);
+-	mt7915_txpower_puts(HE_RU484);
+-	mt7915_txpower_puts(HE_RU996);
+-	mt7915_txpower_puts(HE_RU2x996);
++	mt7915_txpower_puts(VHT_BW20, 23);
++	mt7915_txpower_puts(VHT_BW40, 23);
++	mt7915_txpower_puts(VHT_BW80, 23);
++	mt7915_txpower_puts(VHT_BW160, 23);
++	mt7915_txpower_puts(HE_RU26, 23);
++	mt7915_txpower_puts(HE_RU52, 23);
++	mt7915_txpower_puts(HE_RU106, 23);
++	len += scnprintf(buf + len, sz - len, "BW20/");
++	mt7915_txpower_puts(HE_RU242, 18);
++	len += scnprintf(buf + len, sz - len, "BW40/");
++	mt7915_txpower_puts(HE_RU484, 18);
++	len += scnprintf(buf + len, sz - len, "BW80/");
++	mt7915_txpower_puts(HE_RU996, 18);
++	len += scnprintf(buf + len, sz - len, "BW160/");
++	mt7915_txpower_puts(HE_RU2x996, 17);
+ 
+ 	reg = is_mt7915(&dev->mt76) ? MT_WF_PHY_TPC_CTRL_STAT(band) :
+ 	      MT_WF_PHY_TPC_CTRL_STAT_MT7916(band);
+@@ -1129,7 +1133,7 @@ mt7915_rate_txpower_set(struct file *file, const char __user *user_buf,
  
  	mutex_lock(&dev->mt76.mutex);
  	ret = mt7915_mcu_get_txpower_sku(phy, req.txpower_sku,
@@ -115,7 +233,7 @@
  	if (ret)
  		goto out;
  
-@@ -1171,7 +1171,7 @@ out:
+@@ -1171,7 +1175,7 @@ out:
  	return ret ? ret : count;
  }
  
@@ -124,7 +242,7 @@
  	.write = mt7915_rate_txpower_set,
  	.read = mt7915_rate_txpower_get,
  	.open = simple_open,
-@@ -1179,6 +1179,69 @@ static const struct file_operations mt7915_rate_txpower_fops = {
+@@ -1179,6 +1183,69 @@ static const struct file_operations mt7915_rate_txpower_fops = {
  	.llseek = default_llseek,
  };
  
@@ -144,7 +262,7 @@
 +		buf += _len;						\
 +	} while(0)
 +
-+	seq_printf(file, "\n%*c", 11, ' ');
++	seq_printf(file, "\n%*c", 17, ' ');
 +	seq_printf(file, "1T1S/2T1S/3T1S/4T1S/2T2S/3T2S/4T2S/3T3S/4T3S/4T4S\n");
 +	ret = mt7915_mcu_get_txpower_sku(phy, txpower, sizeof(txpower),
 +					 TX_POWER_INFO_PATH);
@@ -155,19 +273,19 @@
 +	PATH_POWER_SHOW("OFDM", 4, 0);
 +	PATH_POWER_SHOW("BF-OFDM", 4, 1);
 +
-+	PATH_POWER_SHOW("HT20", 10, 0);
-+	PATH_POWER_SHOW("BF-HT20", 10, 1);
-+	PATH_POWER_SHOW("HT40", 10, 0);
-+	PATH_POWER_SHOW("BF-HT40", 10, 1);
++	PATH_POWER_SHOW("HT/VHT20", 10, 0);
++	PATH_POWER_SHOW("BF-HT/VHT20", 10, 1);
++	PATH_POWER_SHOW("HT/VHT40", 10, 0);
++	PATH_POWER_SHOW("BF-HT/VHT40", 10, 1);
 +
-+	PATH_POWER_SHOW("RU242", 10, 0);
-+	PATH_POWER_SHOW("BF-RU242", 10, 1);
-+	PATH_POWER_SHOW("RU484", 10, 0);
-+	PATH_POWER_SHOW("BF-RU484", 10, 1);
-+	PATH_POWER_SHOW("RU996", 10, 0);
-+	PATH_POWER_SHOW("BF-RU996", 10, 1);
-+	PATH_POWER_SHOW("RU2x996", 10, 0);
-+	PATH_POWER_SHOW("BF-RU2x996", 10, 1);
++	PATH_POWER_SHOW("BW20/RU242", 10, 0);
++	PATH_POWER_SHOW("BF-BW20/RU242", 10, 1);
++	PATH_POWER_SHOW("BW40/RU484", 10, 0);
++	PATH_POWER_SHOW("BF-BW40/RU484", 10, 1);
++	PATH_POWER_SHOW("BW80/RU996", 10, 0);
++	PATH_POWER_SHOW("BF-BW80/RU996", 10, 1);
++	PATH_POWER_SHOW("BW160/RU2x996", 10, 0);
++	PATH_POWER_SHOW("BF-BW160/RU2x996", 10, 1);
 +	PATH_POWER_SHOW("RU26", 10, 0);
 +	PATH_POWER_SHOW("BF-RU26", 10, 0);
 +	PATH_POWER_SHOW("RU52", 10, 0);
@@ -194,7 +312,7 @@
  static int
  mt7915_twt_stats(struct seq_file *s, void *data)
  {
-@@ -1265,7 +1328,9 @@ int mt7915_init_debugfs(struct mt7915_phy *phy)
+@@ -1265,7 +1332,9 @@ int mt7915_init_debugfs(struct mt7915_phy *phy)
  	debugfs_create_file("implicit_txbf", 0600, dir, dev,
  			    &fops_implicit_txbf);
  	debugfs_create_file("txpower_sku", 0400, dir, phy,
@@ -205,10 +323,32 @@
  	debugfs_create_devm_seqfile(dev->mt76.dev, "twt_stats", dir,
  				    mt7915_twt_stats);
  	debugfs_create_file("rf_regval", 0600, dir, dev, &fops_rf_regval);
+diff --git a/mt7915/init.c b/mt7915/init.c
+index 63c0ecb..2415f1b 100644
+--- a/mt7915/init.c
++++ b/mt7915/init.c
+@@ -281,7 +281,7 @@ static void mt7915_led_set_brightness(struct led_classdev *led_cdev,
+ void mt7915_init_txpower(struct mt7915_dev *dev,
+ 			 struct ieee80211_supported_band *sband)
+ {
+-	int i, n_chains = hweight8(dev->mphy.antenna_mask);
++	int i, n_chains = hweight16(dev->mphy.chainmask);
+ 	int nss_delta = mt76_tx_power_nss_delta(n_chains);
+ 	int pwr_delta = mt7915_eeprom_get_power_delta(dev, sband->band);
+ 	struct mt76_power_limits limits;
 diff --git a/mt7915/main.c b/mt7915/main.c
-index fcd69ea..155197b 100644
+index fcd69ea..4833f64 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
+@@ -488,7 +488,7 @@ static int mt7915_config(struct ieee80211_hw *hw, u32 changed)
+ 		ieee80211_wake_queues(hw);
+ 	}
+ 
+-	if (changed & IEEE80211_CONF_CHANGE_POWER) {
++	if (changed & (IEEE80211_CONF_CHANGE_POWER | IEEE80211_CONF_CHANGE_CHANNEL)) {
+ 		ret = mt7915_mcu_set_txpower_sku(phy);
+ 		if (ret)
+ 			return ret;
 @@ -1097,6 +1097,7 @@ mt7915_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
  	mt76_set_stream_caps(phy->mt76, true);
  	mt7915_set_stream_vht_txbf_caps(phy);
@@ -218,10 +358,10 @@
  	mutex_unlock(&dev->mt76.mutex);
  
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 07c7323..d87eb5c 100644
+index 4aee126..10fade2 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -3303,7 +3303,8 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
+@@ -3302,7 +3302,8 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
  	int ret;
  	s8 txpower_sku[MT7915_SKU_RATE_NUM];
  
@@ -231,7 +371,7 @@
  	if (ret)
  		return ret;
  
-@@ -3345,51 +3346,106 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
+@@ -3344,51 +3345,106 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
  
  int mt7915_mcu_set_txpower_sku(struct mt7915_phy *phy)
  {
@@ -363,7 +503,7 @@
  	struct mt7915_dev *dev = phy->dev;
  	struct {
  		u8 format_id;
-@@ -3398,10 +3454,9 @@ int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len)
+@@ -3397,10 +3453,9 @@ int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len)
  		u8 _rsv;
  	} __packed req = {
  		.format_id = TX_POWER_LIMIT_INFO,
@@ -375,7 +515,7 @@
  	struct sk_buff *skb;
  	int ret, i;
  
-@@ -3411,9 +3466,15 @@ int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len)
+@@ -3410,9 +3465,15 @@ int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len)
  	if (ret)
  		return ret;
  
@@ -394,7 +534,7 @@
  
  	dev_kfree_skb(skb);
  
-@@ -3455,9 +3516,18 @@ int mt7915_mcu_set_sku_en(struct mt7915_phy *phy, bool enable)
+@@ -3454,9 +3515,18 @@ int mt7915_mcu_set_sku_en(struct mt7915_phy *phy, bool enable)
  		.band_idx = phy->mt76->band_idx,
  		.sku_enable = enable,
  	};
@@ -414,7 +554,7 @@
  				 MCU_EXT_CMD(TX_POWER_FEATURE_CTRL), &req,
  				 sizeof(req), true);
 diff --git a/mt7915/mcu.h b/mt7915/mcu.h
-index 3da650c..240a315 100644
+index 3da650c..142bfc1 100644
 --- a/mt7915/mcu.h
 +++ b/mt7915/mcu.h
 @@ -502,12 +502,18 @@ enum {
@@ -436,6 +576,15 @@
  enum {
  	SPR_ENABLE = 0x1,
  	SPR_ENABLE_SD = 0x3,
+@@ -770,7 +776,7 @@ static inline s8
+ mt7915_get_power_bound(struct mt7915_phy *phy, s8 txpower)
+ {
+ 	struct mt76_phy *mphy = phy->mt76;
+-	int n_chains = hweight8(mphy->antenna_mask);
++	int n_chains = hweight16(mphy->chainmask);
+ 
+ 	txpower = mt76_get_sar_power(mphy, mphy->chandef.chan, txpower * 2);
+ 	txpower -= mt76_tx_power_nss_delta(n_chains);
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
 index bbcdd93..b80c607 100644
 --- a/mt7915/mt7915.h
diff --git a/recipes-wifi/linux-mt76/files/patches/1025-wifi-mt76-mt7915-amsdu-set-and-get-control.patch b/recipes-wifi/linux-mt76/files/patches/1026-wifi-mt76-mt7915-amsdu-set-and-get-control.patch
similarity index 95%
rename from recipes-wifi/linux-mt76/files/patches/1025-wifi-mt76-mt7915-amsdu-set-and-get-control.patch
rename to recipes-wifi/linux-mt76/files/patches/1026-wifi-mt76-mt7915-amsdu-set-and-get-control.patch
index 731ee05..fc7b395 100644
--- a/recipes-wifi/linux-mt76/files/patches/1025-wifi-mt76-mt7915-amsdu-set-and-get-control.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1026-wifi-mt76-mt7915-amsdu-set-and-get-control.patch
@@ -1,7 +1,7 @@
-From 7815bd8d3b07c67262190fb085ad123e3b402d63 Mon Sep 17 00:00:00 2001
+From f7978be19e6257d13527f60ea00a4aecce4368e4 Mon Sep 17 00:00:00 2001
 From: TomLiu <tomml.liu@mediatek.com>
 Date: Wed, 14 Dec 2022 00:44:07 -0800
-Subject: [PATCH 1025/1031] wifi: mt76: mt7915: amsdu set and get control
+Subject: [PATCH 1026/1034] wifi: mt76: mt7915: amsdu set and get control
 
 ---
  mt7915/mac.c    |  7 +++++++
@@ -29,10 +29,10 @@
  void mt7915_capi_sta_rc_work(void *data, struct ieee80211_sta *sta)
  {
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 7584d1f..10c1cba 100644
+index b80c607..dc38b30 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -682,6 +682,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
+@@ -696,6 +696,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
  			 bool pci, int *irq);
  
  #ifdef CONFIG_MTK_VENDOR
diff --git a/recipes-wifi/linux-mt76/files/patches/1026-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch b/recipes-wifi/linux-mt76/files/patches/1027-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch
similarity index 91%
rename from recipes-wifi/linux-mt76/files/patches/1026-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch
rename to recipes-wifi/linux-mt76/files/patches/1027-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch
index 3f4be8f..077a54a 100644
--- a/recipes-wifi/linux-mt76/files/patches/1026-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1027-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch
@@ -1,7 +1,7 @@
-From f5f0d7a46738a626f93a76979e1cc99e7b6a21fb Mon Sep 17 00:00:00 2001
+From b05f2dc2b9d87a93201af91ec5df00629151bb92 Mon Sep 17 00:00:00 2001
 From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
 Date: Tue, 24 Jan 2023 14:32:08 +0800
-Subject: [PATCH 1026/1031] wifi: mt76: mt7915: Add vendor command attribute
+Subject: [PATCH 1027/1034] wifi: mt76: mt7915: Add vendor command attribute
  for RTS BW signaling.
 
 Signed-off-by: himanshu.goyal <himanshu.goyal@mediatek.com>
@@ -13,10 +13,10 @@
  4 files changed, 20 insertions(+)
 
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 9e64337..db4642c 100644
+index 10fade2..15915c9 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4593,6 +4593,12 @@ int mt7915_mcu_set_cfg(struct mt7915_phy *phy, u8 cfg_info, u8 type)
+@@ -4603,6 +4603,12 @@ int mt7915_mcu_set_cfg(struct mt7915_phy *phy, u8 cfg_info, u8 type)
  		req.cert.length = cpu_to_le16(tlv_len);
  		req.cert.cert_program = type;
  		break;
@@ -30,7 +30,7 @@
  		tlv_len = sizeof(struct three_wire_cfg);
  		req.three_wire.tag = cpu_to_le16(cfg_info);
 diff --git a/mt7915/mcu.h b/mt7915/mcu.h
-index 240a315..8ac70e5 100644
+index 142bfc1..286f7a5 100644
 --- a/mt7915/mcu.h
 +++ b/mt7915/mcu.h
 @@ -924,6 +924,13 @@ struct three_wire_cfg {
diff --git a/recipes-wifi/linux-mt76/files/patches/1027-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch b/recipes-wifi/linux-mt76/files/patches/1028-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch
similarity index 95%
rename from recipes-wifi/linux-mt76/files/patches/1027-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch
rename to recipes-wifi/linux-mt76/files/patches/1028-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch
index 4e62abc..f0f1ecc 100644
--- a/recipes-wifi/linux-mt76/files/patches/1027-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1028-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch
@@ -1,7 +1,7 @@
-From 25137db002576b18fff8eef3ef30f5049a4af036 Mon Sep 17 00:00:00 2001
+From d08461c89cfb77d4ac916f2eac51707584b9ec61 Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 Date: Thu, 26 Jan 2023 08:50:47 +0800
-Subject: [PATCH 1027/1031] wifi: mt76: mt7915: add vendor cmd to get available
+Subject: [PATCH 1028/1034] wifi: mt76: mt7915: add vendor cmd to get available
  color bitmap
 
 Add a vendor cmd to notify user space available color bitmap.
diff --git a/recipes-wifi/linux-mt76/files/patches/1028-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch b/recipes-wifi/linux-mt76/files/patches/1029-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch
similarity index 87%
rename from recipes-wifi/linux-mt76/files/patches/1028-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch
rename to recipes-wifi/linux-mt76/files/patches/1029-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch
index ea19201..f3036b6 100644
--- a/recipes-wifi/linux-mt76/files/patches/1028-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1029-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch
@@ -1,7 +1,7 @@
-From ca0e38bced7648a60d967c0826ae3175b4a21fcd Mon Sep 17 00:00:00 2001
+From 278b557efab9c0a0144218f0a138eed5d7a21acc Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Fri, 24 Feb 2023 16:29:42 +0800
-Subject: [PATCH 1028/1031] wifi: mt76: mt7915: disable SW-ACI by default
+Subject: [PATCH 1029/1034] wifi: mt76: mt7915: disable SW-ACI by default
 
 Support to enable/disable SW-ACI by module parameter "sw_aci_enable".
 SW-ACI feature is disable by default.
@@ -13,7 +13,7 @@
  4 files changed, 29 insertions(+), 9 deletions(-)
 
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 4b2c4d9..95b15a2 100644
+index 4833f64..1640c4b 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -8,6 +8,10 @@
@@ -39,10 +39,10 @@
  
  	if (phy != &dev->phy) {
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index db4642c..cf8d249 100644
+index 15915c9..a542031 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4953,3 +4953,18 @@ int mt7915_mcu_get_edcca(struct mt7915_phy *phy, u8 mode, s8 *value)
+@@ -4963,3 +4963,18 @@ int mt7915_mcu_get_edcca(struct mt7915_phy *phy, u8 mode, s8 *value)
  
  	return 0;
  }
@@ -62,10 +62,10 @@
 +				 sizeof(req), NULL);
 +}
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 10c1cba..0d3c67b 100644
+index dc38b30..4ba57c6 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -706,6 +706,7 @@ int mt7915_vendor_amnt_sta_remove(struct mt7915_phy *phy,
+@@ -720,6 +720,7 @@ int mt7915_vendor_amnt_sta_remove(struct mt7915_phy *phy,
  #endif
  int mt7915_mcu_set_edcca(struct mt7915_phy *phy, int mode, u8 *value, s8 compensation);
  int mt7915_mcu_get_edcca(struct mt7915_phy *phy, u8 mode, s8 *value);
@@ -74,7 +74,7 @@
  int mt7915_mcu_ipi_hist_scan(struct mt7915_phy *phy, void *data, u8 mode, bool wait_resp);
  
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index c8b677d..336f38e 100644
+index 9a42149..97eb072 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -3647,16 +3647,12 @@ static int mt7915_show_eeprom_mode(struct seq_file *s, void *data)
diff --git a/recipes-wifi/linux-mt76/files/patches/1029-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch b/recipes-wifi/linux-mt76/files/patches/1030-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch
similarity index 92%
rename from recipes-wifi/linux-mt76/files/patches/1029-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch
rename to recipes-wifi/linux-mt76/files/patches/1030-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch
index 308cf52..bdf479d 100644
--- a/recipes-wifi/linux-mt76/files/patches/1029-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1030-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch
@@ -1,7 +1,7 @@
-From 51808db9d3edb7e76fc1d2de5a3cbd7e01d4b3e4 Mon Sep 17 00:00:00 2001
+From 88764ab562d2d901426ee789f0ee3225c00fa291 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 27 Apr 2023 15:37:33 +0800
-Subject: [PATCH 1029/1031] wifi: mt76: mt7915: add muru user number debug
+Subject: [PATCH 1030/1034] wifi: mt76: mt7915: add muru user number debug
  command
 
 ---
@@ -11,10 +11,10 @@
  3 files changed, 17 insertions(+), 1 deletion(-)
 
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 0d3c67b..8fafbb1 100644
+index 4ba57c6..b3bf8a2 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -570,6 +570,7 @@ int mt7915_mcu_set_pulse_th(struct mt7915_dev *dev,
+@@ -584,6 +584,7 @@ int mt7915_mcu_set_pulse_th(struct mt7915_dev *dev,
  int mt7915_mcu_set_radar_th(struct mt7915_dev *dev, int index,
  			    const struct mt7915_dfs_pattern *pattern);
  int mt7915_mcu_set_muru_ctrl(struct mt7915_dev *dev, u32 cmd, u32 val);
diff --git a/recipes-wifi/linux-mt76/files/patches/1030-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch b/recipes-wifi/linux-mt76/files/patches/1031-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch
similarity index 94%
rename from recipes-wifi/linux-mt76/files/patches/1030-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch
rename to recipes-wifi/linux-mt76/files/patches/1031-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch
index bb8dbf1..d533641 100644
--- a/recipes-wifi/linux-mt76/files/patches/1030-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1031-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch
@@ -1,7 +1,7 @@
-From eb4ee3779dde8b15d03c32516d89c87bd19381c1 Mon Sep 17 00:00:00 2001
+From cfd870baf9b6200fd0960a24dff0401c0abc4194 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Mon, 22 May 2023 15:30:21 +0800
-Subject: [PATCH 1030/1031] wifi: mt76: mt7915: add debugfs for fw coredump.
+Subject: [PATCH 1031/1034] wifi: mt76: mt7915: add debugfs for fw coredump.
 
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
 ---
@@ -12,7 +12,7 @@
  4 files changed, 58 insertions(+), 9 deletions(-)
 
 diff --git a/mt7915/debugfs.c b/mt7915/debugfs.c
-index 2b63e56..99ce0a9 100644
+index 19a37b5..ae291a3 100644
 --- a/mt7915/debugfs.c
 +++ b/mt7915/debugfs.c
 @@ -82,8 +82,10 @@ mt7915_sys_recovery_set(struct file *file, const char __user *user_buf,
@@ -117,7 +117,7 @@
  	}
  
 diff --git a/mt7915/mcu.h b/mt7915/mcu.h
-index 8ac70e5..7febe65 100644
+index 286f7a5..583caca 100644
 --- a/mt7915/mcu.h
 +++ b/mt7915/mcu.h
 @@ -745,8 +745,12 @@ enum {
@@ -135,7 +135,7 @@
  	SER_ENABLE = 2,
  	SER_RECOVER
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 8fafbb1..b7fa1a4 100644
+index b3bf8a2..8a5d5f9 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
 @@ -91,6 +91,13 @@ struct mt7915_sta;
@@ -152,7 +152,7 @@
  enum mt7915_txq_id {
  	MT7915_TXQ_FWDL = 16,
  	MT7915_TXQ_MCU_WM,
-@@ -323,6 +330,7 @@ struct mt7915_dev {
+@@ -337,6 +344,7 @@ struct mt7915_dev {
  
  	/* protects coredump data */
  	struct mutex dump_mutex;
@@ -160,7 +160,7 @@
  #ifdef CONFIG_DEV_COREDUMP
  	struct {
  		struct mt7915_crash_data *crash_data[__MT76_RAM_TYPE_MAX];
-@@ -508,6 +516,7 @@ int mt7915_init_vif(struct mt7915_phy *phy, struct ieee80211_vif *vif, bool bf_e
+@@ -522,6 +530,7 @@ int mt7915_init_vif(struct mt7915_phy *phy, struct ieee80211_vif *vif, bool bf_e
  void mt7915_init_txpower(struct mt7915_dev *dev,
  			 struct ieee80211_supported_band *sband);
  void mt7915_reset(struct mt7915_dev *dev);
diff --git a/recipes-wifi/linux-mt76/files/patches/1031-wifi-mt76-mt7915-remove-BW160-support.patch b/recipes-wifi/linux-mt76/files/patches/1032-wifi-mt76-mt7915-remove-BW160-support.patch
similarity index 70%
rename from recipes-wifi/linux-mt76/files/patches/1031-wifi-mt76-mt7915-remove-BW160-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1032-wifi-mt76-mt7915-remove-BW160-support.patch
index 77ad7f1..2752629 100644
--- a/recipes-wifi/linux-mt76/files/patches/1031-wifi-mt76-mt7915-remove-BW160-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1032-wifi-mt76-mt7915-remove-BW160-support.patch
@@ -1,33 +1,30 @@
-From a16f98e2a2abcda88b80b5614d38b4083e30b59f Mon Sep 17 00:00:00 2001
+From de4c84576834c476459acd4509fbbcff6915fcae Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Wed, 24 May 2023 22:35:54 +0800
-Subject: [PATCH 1031/1031] wifi: mt76: mt7915: remove BW160 support
+Subject: [PATCH 1032/1034] wifi: mt76: mt7915: remove BW160 support
 
 Remove BW160 capability in mt7915.
 ---
- mt7915/init.c | 29 +++++++----------------------
- 1 file changed, 7 insertions(+), 22 deletions(-)
+ mt7915/init.c | 26 ++++++--------------------
+ 1 file changed, 6 insertions(+), 20 deletions(-)
 
 diff --git a/mt7915/init.c b/mt7915/init.c
-index 09ee080..bc16f17 100644
+index 2415f1b..64a8403 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
-@@ -420,13 +420,7 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
- 
+@@ -422,11 +422,6 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
  			vht_cap->cap |=
  				IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
--				IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
+ 				IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
 -
 -			if (!dev->dbdc_support)
 -				vht_cap->cap |=
 -					IEEE80211_VHT_CAP_SHORT_GI_160 |
--					IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ |
 -					FIELD_PREP(IEEE80211_VHT_CAP_EXT_NSS_BW_MASK, 1);
-+				IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;;
  		} else {
  			phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
  				IEEE80211_HT_MPDU_DENSITY_2;
-@@ -886,13 +880,9 @@ mt7915_set_stream_he_txbf_caps(struct mt7915_phy *phy,
+@@ -886,13 +881,9 @@ mt7915_set_stream_he_txbf_caps(struct mt7915_phy *phy,
  	int sts = hweight8(phy->mt76->chainmask);
  	u8 c, sts_160 = sts;
  
@@ -44,7 +41,7 @@
  
  #ifdef CONFIG_MAC80211_MESH
  	if (vif == NL80211_IFTYPE_MESH_POINT)
-@@ -972,15 +962,10 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
+@@ -972,15 +963,10 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
  	int i, idx = 0, nss = hweight8(phy->mt76->antenna_mask);
  	u16 mcs_map = 0;
  	u16 mcs_map_160 = 0;
diff --git a/recipes-wifi/linux-mt76/files/patches/1032-wifi-mt76-mt7915-add-txpower-info-dump-support.patch b/recipes-wifi/linux-mt76/files/patches/1033-wifi-mt76-mt7915-add-txpower-info-dump-support.patch
similarity index 91%
rename from recipes-wifi/linux-mt76/files/patches/1032-wifi-mt76-mt7915-add-txpower-info-dump-support.patch
rename to recipes-wifi/linux-mt76/files/patches/1033-wifi-mt76-mt7915-add-txpower-info-dump-support.patch
index 026e712..92c5528 100644
--- a/recipes-wifi/linux-mt76/files/patches/1032-wifi-mt76-mt7915-add-txpower-info-dump-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1033-wifi-mt76-mt7915-add-txpower-info-dump-support.patch
@@ -1,7 +1,7 @@
-From a47fd43195b6f5b1b9c0b29e1bad986818d57404 Mon Sep 17 00:00:00 2001
+From 338c73d96368002a889639c9b4d8af8ce5248dfe Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Tue, 11 Jul 2023 17:06:04 +0800
-Subject: [PATCH] wifi: mt76: mt7915: add txpower info dump support
+Subject: [PATCH 1033/1034] wifi: mt76: mt7915: add txpower info dump support
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -11,10 +11,10 @@
  3 files changed, 91 insertions(+), 1 deletion(-)
 
 diff --git a/mt7915/debugfs.c b/mt7915/debugfs.c
-index 99ce0a9..592fc08 100644
+index ae291a3..2bf907c 100644
 --- a/mt7915/debugfs.c
 +++ b/mt7915/debugfs.c
-@@ -1254,6 +1254,91 @@ mt7915_txpower_path_show(struct seq_file *file, void *data)
+@@ -1258,6 +1258,91 @@ mt7915_txpower_path_show(struct seq_file *file, void *data)
  
  DEFINE_SHOW_ATTRIBUTE(mt7915_txpower_path);
  
@@ -106,7 +106,7 @@
  static int
  mt7915_twt_stats(struct seq_file *s, void *data)
  {
-@@ -1343,6 +1428,8 @@ int mt7915_init_debugfs(struct mt7915_phy *phy)
+@@ -1347,6 +1432,8 @@ int mt7915_init_debugfs(struct mt7915_phy *phy)
  			    &mt7915_txpower_fops);
  	debugfs_create_file("txpower_path", 0400, dir, phy,
  			    &mt7915_txpower_path_fops);
@@ -116,10 +116,10 @@
  				    mt7915_twt_stats);
  	debugfs_create_file("rf_regval", 0600, dir, dev, &fops_rf_regval);
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 8a5bc0c..995c568 100644
+index a542031..d2e3e82 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -3466,6 +3466,8 @@ int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len,
+@@ -3473,6 +3473,8 @@ int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len,
  			txpower[i] = res[i][req.band_idx];
  	} else if (category == TX_POWER_INFO_PATH) {
  		memcpy(txpower, skb->data + 4, len);
@@ -129,7 +129,7 @@
  
  	dev_kfree_skb(skb);
 diff --git a/mt7915/mcu.h b/mt7915/mcu.h
-index 7febe65..f38420c 100644
+index 583caca..6e6f320 100644
 --- a/mt7915/mcu.h
 +++ b/mt7915/mcu.h
 @@ -510,7 +510,8 @@ enum {
diff --git a/recipes-wifi/linux-mt76/files/patches/1034-wifi-mt76-mt7915-report-tx-and-rx-byte-to-tpt_led-wh.patch b/recipes-wifi/linux-mt76/files/patches/1034-wifi-mt76-mt7915-report-tx-and-rx-byte-to-tpt_led-wh.patch
new file mode 100644
index 0000000..19465e0
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/patches/1034-wifi-mt76-mt7915-report-tx-and-rx-byte-to-tpt_led-wh.patch
@@ -0,0 +1,69 @@
+From 517b50aa4a64a865b31f6229bb135cf3eba5c6ae Mon Sep 17 00:00:00 2001
+From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
+Date: Fri, 23 Jun 2023 06:06:21 +0800
+Subject: [PATCH 1034/1034] wifi: mt76: mt7915: report tx and rx byte to
+ tpt_led when wed is enabled
+
+Signed-off-by: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
+---
+ mt76_connac_mac.c | 10 ++++++----
+ mt7915/mmio.c     |  5 +++++
+ 2 files changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/mt76_connac_mac.c b/mt76_connac_mac.c
+index ee5177f..ff3cefa 100644
+--- a/mt76_connac_mac.c
++++ b/mt76_connac_mac.c
+@@ -608,9 +608,15 @@ bool mt76_connac2_mac_fill_txs(struct mt76_dev *dev, struct mt76_wcid *wcid,
+ 
+ 	txs = le32_to_cpu(txs_data[0]);
+ 
++	mphy = mt76_dev_phy(dev, wcid->phy_idx);
++
+ 	/* PPDU based reporting */
+ 	if (mtk_wed_device_active(&dev->mmio.wed) &&
+ 	    FIELD_GET(MT_TXS0_TXS_FORMAT, txs) > 1) {
++		ieee80211_tpt_led_trig_tx(mphy->hw,
++			le32_get_bits(txs_data[5], MT_TXS5_MPDU_TX_BYTE) -
++			le32_get_bits(txs_data[7], MT_TXS7_MPDU_RETRY_BYTE));
++
+ 		stats->tx_bytes +=
+ 			le32_get_bits(txs_data[5], MT_TXS5_MPDU_TX_BYTE) -
+ 			le32_get_bits(txs_data[7], MT_TXS7_MPDU_RETRY_BYTE);
+@@ -651,10 +657,6 @@ bool mt76_connac2_mac_fill_txs(struct mt76_dev *dev, struct mt76_wcid *wcid,
+ 		cck = true;
+ 		fallthrough;
+ 	case MT_PHY_TYPE_OFDM:
+-		mphy = &dev->phy;
+-		if (wcid->phy_idx == MT_BAND1 && dev->phys[MT_BAND1])
+-			mphy = dev->phys[MT_BAND1];
+-
+ 		if (mphy->chandef.chan->band == NL80211_BAND_5GHZ)
+ 			sband = &mphy->sband_5g.sband;
+ 		else if (mphy->chandef.chan->band == NL80211_BAND_6GHZ)
+diff --git a/mt7915/mmio.c b/mt7915/mmio.c
+index 25c3fe2..57dfda3 100644
+--- a/mt7915/mmio.c
++++ b/mt7915/mmio.c
+@@ -666,6 +666,7 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
+ 	int idx = le16_to_cpu(stats->wlan_idx);
+ 	struct mt7915_dev *dev;
+ 	struct mt76_wcid *wcid;
++	struct mt76_phy *mphy;
+ 
+ 	dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed);
+ 
+@@ -676,6 +677,10 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
+ 
+ 	wcid = rcu_dereference(dev->mt76.wcid[idx]);
+ 	if (wcid) {
++		mphy = mt76_dev_phy(&dev->mt76, wcid->phy_idx);
++		ieee80211_tpt_led_trig_rx(mphy->hw,
++					  le32_to_cpu(stats->rx_byte_cnt));
++
+ 		wcid->stats.rx_bytes += le32_to_cpu(stats->rx_byte_cnt);
+ 		wcid->stats.rx_packets += le32_to_cpu(stats->rx_pkt_cnt);
+ 		wcid->stats.rx_errors += le32_to_cpu(stats->rx_err_cnt);
+-- 
+2.18.0
+
diff --git a/recipes-wifi/linux-mt76/files/patches/2000-wifi-mt76-mt7915-wed-add-wed-tx-support.patch b/recipes-wifi/linux-mt76/files/patches/2000-wifi-mt76-mt7915-wed-add-wed-tx-support.patch
index e843ab7..8abd1c6 100644
--- a/recipes-wifi/linux-mt76/files/patches/2000-wifi-mt76-mt7915-wed-add-wed-tx-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2000-wifi-mt76-mt7915-wed-add-wed-tx-support.patch
@@ -1,4 +1,4 @@
-From 3659e82e8fa99a3a5be9e22c9941ca20d035e1fe Mon Sep 17 00:00:00 2001
+From 29f78b70f01a0413a6422fdf953441be3c508f77 Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Fri, 25 Nov 2022 10:38:53 +0800
 Subject: [PATCH 2000/2009] wifi: mt76: mt7915: wed: add wed tx support
@@ -66,10 +66,10 @@
  
  static void
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 95b15a2..e0b1643 100644
+index 1640c4b..db812dd 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -1640,14 +1640,14 @@ mt7915_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1671,14 +1671,14 @@ mt7915_net_fill_forward_path(struct ieee80211_hw *hw,
  	if (!mtk_wed_device_active(wed))
  		return -ENODEV;
  
@@ -87,7 +87,7 @@
  
  	ctx->dev = NULL;
 diff --git a/mt7915/mmio.c b/mt7915/mmio.c
-index 25c3fe2..e5e005e 100644
+index 57dfda3..cb0893e 100644
 --- a/mt7915/mmio.c
 +++ b/mt7915/mmio.c
 @@ -13,7 +13,7 @@
@@ -108,7 +108,7 @@
  	spin_unlock_bh(&dev->mt76.token_lock);
  }
  
-@@ -812,6 +812,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
+@@ -817,6 +817,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
  
  	*irq = wed->irq;
  	dev->mt76.dma_dev = wed->dev;
@@ -117,7 +117,7 @@
  	ret = dma_set_mask(wed->dev, DMA_BIT_MASK(32));
  	if (ret)
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index b7fa1a4..f4e60b2 100644
+index 8a5d5f9..36f852e 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
 @@ -62,7 +62,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches/2001-wifi-mt76-mt7915-wed-add-wds-support-when-wed-is-ena.patch b/recipes-wifi/linux-mt76/files/patches/2001-wifi-mt76-mt7915-wed-add-wds-support-when-wed-is-ena.patch
index e785db3..87b3635 100644
--- a/recipes-wifi/linux-mt76/files/patches/2001-wifi-mt76-mt7915-wed-add-wds-support-when-wed-is-ena.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2001-wifi-mt76-mt7915-wed-add-wds-support-when-wed-is-ena.patch
@@ -1,4 +1,4 @@
-From 7727bc30f1fea1174cf1c6ea853a7092d4dae2c9 Mon Sep 17 00:00:00 2001
+From 2c7017c870ce600c795183d097b3b316f8fce97d Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Tue, 13 Dec 2022 17:51:26 +0800
 Subject: [PATCH 2001/2009] wifi: mt76: mt7915: wed: add wds support when wed
@@ -32,10 +32,10 @@
  	u32 (*rr)(struct mt76_dev *dev, u32 offset);
  	void (*wr)(struct mt76_dev *dev, u32 offset, u32 val);
 diff --git a/mt7915/main.c b/mt7915/main.c
-index e0b1643..c70b9d6 100644
+index db812dd..d6c66ac 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -730,8 +730,15 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -760,8 +760,15 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  #endif
  	int ret, idx;
  	u32 addr;
@@ -52,7 +52,7 @@
  	if (idx < 0)
  		return -ENOSPC;
  
-@@ -1209,6 +1216,13 @@ static void mt7915_sta_set_4addr(struct ieee80211_hw *hw,
+@@ -1240,6 +1247,13 @@ static void mt7915_sta_set_4addr(struct ieee80211_hw *hw,
  	else
  		clear_bit(MT_WCID_FLAG_4ADDR, &msta->wcid.flags);
  
@@ -66,7 +66,7 @@
  	mt76_connac_mcu_wtbl_update_hdr_trans(&dev->mt76, vif, sta);
  }
  
-@@ -1647,8 +1661,12 @@ mt7915_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1678,8 +1692,12 @@ mt7915_net_fill_forward_path(struct ieee80211_hw *hw,
  	path->dev = ctx->dev;
  	path->mtk_wdma.wdma_idx = wed->wdma_idx;
  	path->mtk_wdma.bss = mvif->mt76.idx;
@@ -81,10 +81,10 @@
  	ctx->dev = NULL;
  
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index cf8d249..ca472c2 100644
+index d2e3e82..4eaeed6 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -2385,10 +2385,18 @@ int mt7915_mcu_init_firmware(struct mt7915_dev *dev)
+@@ -2388,10 +2388,18 @@ int mt7915_mcu_init_firmware(struct mt7915_dev *dev)
  	if (ret)
  		return ret;
  
@@ -108,7 +108,7 @@
  	ret = mt7915_mcu_set_mwds(dev, 1);
  	if (ret)
 diff --git a/mt7915/mcu.h b/mt7915/mcu.h
-index 7febe65..82b0847 100644
+index 6e6f320..825bb7d 100644
 --- a/mt7915/mcu.h
 +++ b/mt7915/mcu.h
 @@ -339,6 +339,7 @@ enum {
diff --git a/recipes-wifi/linux-mt76/files/patches/2002-wifi-mt76-mt7915-wed-add-fill-receive-path-to-report.patch b/recipes-wifi/linux-mt76/files/patches/2002-wifi-mt76-mt7915-wed-add-fill-receive-path-to-report.patch
index b9d24ec..101306a 100644
--- a/recipes-wifi/linux-mt76/files/patches/2002-wifi-mt76-mt7915-wed-add-fill-receive-path-to-report.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2002-wifi-mt76-mt7915-wed-add-fill-receive-path-to-report.patch
@@ -1,4 +1,4 @@
-From a8a74f9dbc766d0a517d1311d901e46c62dbc1c6 Mon Sep 17 00:00:00 2001
+From 7c4f9f6464adb550bf5db2e3e9edca1655ef3f73 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 19 May 2023 07:05:22 +0800
 Subject: [PATCH 2002/2009] wifi: mt76: mt7915: wed: add fill receive path to
@@ -10,10 +10,10 @@
  1 file changed, 18 insertions(+)
 
 diff --git a/mt7915/main.c b/mt7915/main.c
-index c70b9d6..97c90ec 100644
+index d6c66ac..204fa56 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -1673,6 +1673,23 @@ mt7915_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1704,6 +1704,23 @@ mt7915_net_fill_forward_path(struct ieee80211_hw *hw,
  	return 0;
  }
  
@@ -37,7 +37,7 @@
  static int
  mt7915_net_setup_tc(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		    struct net_device *netdev, enum tc_setup_type type,
-@@ -1740,6 +1757,7 @@ const struct ieee80211_ops mt7915_ops = {
+@@ -1771,6 +1788,7 @@ const struct ieee80211_ops mt7915_ops = {
  	.set_radar_background = mt7915_set_radar_background,
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
  	.net_fill_forward_path = mt7915_net_fill_forward_path,
diff --git a/recipes-wifi/linux-mt76/files/patches/2003-wifi-mt76-mt7915-wed-find-rx-token-by-physical-addre.patch b/recipes-wifi/linux-mt76/files/patches/2003-wifi-mt76-mt7915-wed-find-rx-token-by-physical-addre.patch
index 2b35208..ef0ee94 100644
--- a/recipes-wifi/linux-mt76/files/patches/2003-wifi-mt76-mt7915-wed-find-rx-token-by-physical-addre.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2003-wifi-mt76-mt7915-wed-find-rx-token-by-physical-addre.patch
@@ -1,4 +1,4 @@
-From 457cb9380e3c1f875991bf551db68e638d4be95d Mon Sep 17 00:00:00 2001
+From da709e8f8a5885b0444e90928d7137957099b5b8 Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Fri, 25 Nov 2022 14:32:35 +0800
 Subject: [PATCH 2003/2009] wifi: mt76: mt7915: wed: find rx token by physical
diff --git a/recipes-wifi/linux-mt76/files/patches/2004-wifi-mt76-mt7915-wed-HW-ATF-support-for-mt7986.patch b/recipes-wifi/linux-mt76/files/patches/2004-wifi-mt76-mt7915-wed-HW-ATF-support-for-mt7986.patch
index c3f1b3f..98d4760 100644
--- a/recipes-wifi/linux-mt76/files/patches/2004-wifi-mt76-mt7915-wed-HW-ATF-support-for-mt7986.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2004-wifi-mt76-mt7915-wed-HW-ATF-support-for-mt7986.patch
@@ -1,7 +1,7 @@
-From 42aa30b927d84f6765e06f63aec5dc93402ff9a7 Mon Sep 17 00:00:00 2001
+From cd1664e9413bbc46595babe88bed5294df0316af Mon Sep 17 00:00:00 2001
 From: Lian Chen <lian.chen@mediatek.com>
 Date: Mon, 7 Nov 2022 14:47:44 +0800
-Subject: [PATCH] wifi: mt76: mt7915: wed: HW ATF support for mt7986
+Subject: [PATCH 2004/2009] wifi: mt76: mt7915: wed: HW ATF support for mt7986
 
 Signed-off-by: Lian Chen <lian.chen@mediatek.com>
 ---
@@ -35,7 +35,7 @@
  	MCU_EXT_CMD_EFUSE_FREE_BLOCK = 0x4f,
  	MCU_EXT_CMD_TX_POWER_FEATURE_CTRL = 0x58,
 diff --git a/mt7915/debugfs.c b/mt7915/debugfs.c
-index 99ce0a9..73e132b 100644
+index 2bf907c..4b3af79 100644
 --- a/mt7915/debugfs.c
 +++ b/mt7915/debugfs.c
 @@ -12,6 +12,10 @@
@@ -456,7 +456,7 @@
  static int
  mt7915_radar_trigger(void *data, u64 val)
  {
-@@ -1346,6 +1750,7 @@ int mt7915_init_debugfs(struct mt7915_phy *phy)
+@@ -1437,6 +1841,7 @@ int mt7915_init_debugfs(struct mt7915_phy *phy)
  	debugfs_create_devm_seqfile(dev->mt76.dev, "twt_stats", dir,
  				    mt7915_twt_stats);
  	debugfs_create_file("rf_regval", 0600, dir, dev, &fops_rf_regval);
@@ -465,10 +465,10 @@
  	if (!dev->dbdc_support || phy->mt76->band_idx) {
  		debugfs_create_u32("dfs_hw_pattern", 0400, dir,
 diff --git a/mt7915/init.c b/mt7915/init.c
-index bc16f17..cf576ed 100644
+index 64a8403..d8df8ba 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
-@@ -583,10 +583,46 @@ mt7915_init_led_mux(struct mt7915_dev *dev)
+@@ -584,10 +584,46 @@ mt7915_init_led_mux(struct mt7915_dev *dev)
  	}
  }
  
@@ -515,7 +515,7 @@
  
  	/* config pse qid6 wfdma port selection */
  	if (!is_mt7915(&dev->mt76) && dev->hif2)
-@@ -610,6 +646,9 @@ void mt7915_mac_init(struct mt7915_dev *dev)
+@@ -611,6 +647,9 @@ void mt7915_mac_init(struct mt7915_dev *dev)
  		mt7915_mac_init_band(dev, i);
  
  	mt7915_init_led_mux(dev);
@@ -526,7 +526,7 @@
  
  int mt7915_txbf_init(struct mt7915_dev *dev)
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 6cf5f41..f29ac4f 100644
+index 204fa56..aae652d 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -217,6 +217,7 @@ int mt7915_init_vif(struct mt7915_phy *phy, struct ieee80211_vif *vif, bool bf_e
@@ -573,10 +573,10 @@
  }
  
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 302a022..94362c0 100644
+index 4eaeed6..9e282b8 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -3550,6 +3550,171 @@ int mt7915_mcu_set_ser(struct mt7915_dev *dev, u8 action, u8 set, u8 band)
+@@ -3559,6 +3559,171 @@ int mt7915_mcu_set_ser(struct mt7915_dev *dev, u8 action, u8 set, u8 band)
  				 &req, sizeof(req), false);
  }
  
diff --git a/recipes-wifi/linux-mt76/files/patches/2005-wifi-mt76-mt7915-wed-add-rxwi-for-further-in-chip-rr.patch b/recipes-wifi/linux-mt76/files/patches/2005-wifi-mt76-mt7915-wed-add-rxwi-for-further-in-chip-rr.patch
index 6f2380f..88f90a3 100644
--- a/recipes-wifi/linux-mt76/files/patches/2005-wifi-mt76-mt7915-wed-add-rxwi-for-further-in-chip-rr.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2005-wifi-mt76-mt7915-wed-add-rxwi-for-further-in-chip-rr.patch
@@ -1,4 +1,4 @@
-From 59b6df9977582f53ba8434189091a8a3c3012e20 Mon Sep 17 00:00:00 2001
+From 7d21b51745a2c47b1ad1a8a9b72e911e316e6f77 Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Fri, 6 Jan 2023 18:18:50 +0800
 Subject: [PATCH 2005/2009] wifi: mt76: mt7915: wed: add rxwi for further in
@@ -244,7 +244,7 @@
  unmap:
  	for (n--; n > 0; n--)
 diff --git a/mac80211.c b/mac80211.c
-index ddc13dd..52c552b 100644
+index 25ec433..35cd297 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -603,7 +603,6 @@ mt76_alloc_device(struct device *pdev, unsigned int size,
@@ -355,7 +355,7 @@
  
  		/* rx data queue for band1 */
 diff --git a/mt7915/mmio.c b/mt7915/mmio.c
-index e5e005e..4151af0 100644
+index cb0893e..a59e311 100644
 --- a/mt7915/mmio.c
 +++ b/mt7915/mmio.c
 @@ -584,18 +584,18 @@ static void mt7915_mmio_wed_release_rx_buf(struct mtk_wed_device *wed)
@@ -427,7 +427,7 @@
  			goto unmap;
  		}
  
-@@ -805,7 +805,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
+@@ -810,7 +810,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
  	wed->wlan.reset = mt7915_mmio_wed_reset;
  	wed->wlan.reset_complete = mt7915_mmio_wed_reset_complete;
  
@@ -436,7 +436,7 @@
  
  	if (mtk_wed_device_attach(wed))
  		return 0;
-@@ -1012,6 +1012,7 @@ struct mt7915_dev *mt7915_mmio_probe(struct device *pdev,
+@@ -1017,6 +1017,7 @@ struct mt7915_dev *mt7915_mmio_probe(struct device *pdev,
  				SURVEY_INFO_TIME_RX |
  				SURVEY_INFO_TIME_BSS_RX,
  		.token_size = MT7915_TOKEN_SIZE,
@@ -445,7 +445,7 @@
  		.tx_complete_skb = mt76_connac_tx_complete_skb,
  		.rx_skb = mt7915_queue_rx_skb,
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 0621684..0153e5f 100644
+index 4447971..d8daa95 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
 @@ -64,6 +64,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches/2006-wifi-mt76-add-debugfs-knob-to-show-packet-error-rate.patch b/recipes-wifi/linux-mt76/files/patches/2006-wifi-mt76-add-debugfs-knob-to-show-packet-error-rate.patch
index 8f61926..b1ea38e 100644
--- a/recipes-wifi/linux-mt76/files/patches/2006-wifi-mt76-add-debugfs-knob-to-show-packet-error-rate.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2006-wifi-mt76-add-debugfs-knob-to-show-packet-error-rate.patch
@@ -1,7 +1,8 @@
-From 3a498fb75b2f609a41019f844873496117b1fff6 Mon Sep 17 00:00:00 2001
+From e2a95e6b7d53f474fb2354af06bd2e060ee3fd85 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 11 Jan 2023 10:56:27 +0800
-Subject: [PATCH] wifi: mt76: add debugfs knob to show packet error rate
+Subject: [PATCH 2006/2009] wifi: mt76: add debugfs knob to show packet error
+ rate
 
 Get tx count and tx failed from mcu command
 ---
@@ -14,7 +15,7 @@
  6 files changed, 194 insertions(+), 1 deletion(-)
 
 diff --git a/mt76.h b/mt76.h
-index 6c488bd1..cbd63695 100644
+index 6c488bd..cbd6369 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -297,8 +297,10 @@ struct mt76_sta_stats {
@@ -29,7 +30,7 @@
  	u64 rx_bytes;
  	u32 rx_packets;
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 1257dfa1..cfdee7c1 100644
+index 1257dfa..cfdee7c 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1162,6 +1162,7 @@ enum {
@@ -41,10 +42,10 @@
  	MCU_EXT_CMD_SET_DRR_CTRL = 0x36,
  	MCU_EXT_CMD_SET_FEATURE_CTRL = 0x38,
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 74728252..07a4b085 100644
+index 9e282b8..a422567 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4214,6 +4214,114 @@ int mt7915_mcu_get_tx_rate(struct mt7915_phy *phy, u16 wcidx)
+@@ -4226,6 +4226,114 @@ int mt7915_mcu_get_tx_rate(struct mt7915_phy *phy, u16 wcidx)
  		return mt7915_mcu_get_tx_rate_v2(phy, wcidx);
  }
  
@@ -160,10 +161,10 @@
  				struct cfg80211_he_bss_color *he_bss_color)
  {
 diff --git a/mt7915/mcu.h b/mt7915/mcu.h
-index 82b0847d..d6849797 100644
+index 825bb7d..12c98c5 100644
 --- a/mt7915/mcu.h
 +++ b/mt7915/mcu.h
-@@ -790,7 +790,8 @@ mt7915_get_power_bound(struct mt7915_phy *phy, s8 txpower)
+@@ -791,7 +791,8 @@ mt7915_get_power_bound(struct mt7915_phy *phy, s8 txpower)
  }
  
  enum {
@@ -173,7 +174,7 @@
  };
  
  #ifdef CONFIG_MTK_VENDOR
-@@ -1069,6 +1070,24 @@ struct mt7915_muru {
+@@ -1070,6 +1071,24 @@ struct mt7915_muru {
  /* DL&UL User config */
  #define MURU_USER_CNT                   BIT(4)
  
@@ -199,10 +200,10 @@
     CAPI_SU,
     CAPI_MU,
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 0153e5fe..85c5c95c 100644
+index d8daa95..04fc539 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -661,6 +661,7 @@ int mt7915_mcu_get_rx_rate(struct mt7915_phy *phy, struct ieee80211_vif *vif,
+@@ -675,6 +675,7 @@ int mt7915_mcu_get_rx_rate(struct mt7915_phy *phy, struct ieee80211_vif *vif,
  int mt7915_mcu_rdd_background_enable(struct mt7915_phy *phy,
  				     struct cfg80211_chan_def *chandef);
  int mt7915_mcu_wed_wa_tx_stats(struct mt7915_dev *dev, u16 wcid);
@@ -211,7 +212,7 @@
  int mt7915_mcu_wa_cmd(struct mt7915_dev *dev, int cmd, u32 a1, u32 a2, u32 a3);
  int mt7915_mcu_fw_log_2_host(struct mt7915_dev *dev, u8 type, u8 ctrl);
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index 3eeb921f..da33578c 100644
+index a08f7ab..4093f08 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -3790,6 +3790,66 @@ mt7915_sw_aci_set(void *data, u64 val)
diff --git a/recipes-wifi/linux-mt76/files/patches/2008-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch b/recipes-wifi/linux-mt76/files/patches/2007-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch
similarity index 96%
rename from recipes-wifi/linux-mt76/files/patches/2008-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch
rename to recipes-wifi/linux-mt76/files/patches/2007-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch
index bc755ff..d99f49e 100644
--- a/recipes-wifi/linux-mt76/files/patches/2008-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2007-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch
@@ -1,7 +1,7 @@
-From 48b21966878b9b47925ce65008614d52117e2dba Mon Sep 17 00:00:00 2001
+From 5c573fa812b5419497d94393956cd48423264398 Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Thu, 6 Apr 2023 17:50:52 +0800
-Subject: [PATCH 2008/2009] wifi: mt76: mt7915: add ctxd support for mt7916
+Subject: [PATCH 2007/2009] wifi: mt76: mt7915: add ctxd support for mt7916
 
 Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
 ---
diff --git a/recipes-wifi/linux-mt76/files/patches/2009-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch b/recipes-wifi/linux-mt76/files/patches/2008-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch
similarity index 97%
rename from recipes-wifi/linux-mt76/files/patches/2009-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch
rename to recipes-wifi/linux-mt76/files/patches/2008-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch
index 95d4013..bba63cb 100644
--- a/recipes-wifi/linux-mt76/files/patches/2009-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2008-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch
@@ -1,7 +1,7 @@
-From 70b5d2b88e048a9e24f4f509df5385d3246c7105 Mon Sep 17 00:00:00 2001
+From 2d2bf449cc8af7d574b1e6951505a1b931d547e8 Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Thu, 5 Jan 2023 16:43:57 +0800
-Subject: [PATCH 2009/2009] wifi: mt76: connac: wed: add wed rx copy skb
+Subject: [PATCH 2008/2009] wifi: mt76: connac: wed: add wed rx copy skb
 
 Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
 ---
@@ -158,7 +158,7 @@
  
  static void
 diff --git a/mt7915/mmio.c b/mt7915/mmio.c
-index 4151af0..25893bd 100644
+index a59e311..89523a5 100644
 --- a/mt7915/mmio.c
 +++ b/mt7915/mmio.c
 @@ -576,6 +576,7 @@ static void mt7915_mmio_wed_offload_disable(struct mtk_wed_device *wed)
diff --git a/recipes-wifi/linux-mt76/files/patches/2010-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch b/recipes-wifi/linux-mt76/files/patches/2009-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch
similarity index 89%
rename from recipes-wifi/linux-mt76/files/patches/2010-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch
rename to recipes-wifi/linux-mt76/files/patches/2009-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch
index 90379bc..f4361bb 100644
--- a/recipes-wifi/linux-mt76/files/patches/2010-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch
+++ b/recipes-wifi/linux-mt76/files/patches/2009-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch
@@ -1,7 +1,7 @@
-From 9aa119df0e10be31197485fbd3fb499e13ff93cd Mon Sep 17 00:00:00 2001
+From 75e79f37ccb76bbc413bd5ddc684488add30b25a Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Wed, 28 Jun 2023 17:11:18 +0800
-Subject: [PATCH 1/2] wifi: mt76: mt7915: wed: add per bss statistic info
+Subject: [PATCH 2009/2009] wifi: mt76: mt7915: wed: add per bss statistic info
 
 Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
 ---
@@ -15,10 +15,10 @@
  7 files changed, 76 insertions(+), 6 deletions(-)
 
 diff --git a/mt7915/init.c b/mt7915/init.c
-index cf576ed3..3d933592 100644
+index d8df8ba..b519c04 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
-@@ -373,6 +373,7 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
+@@ -374,6 +374,7 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_FILS_DISCOVERY);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0);
@@ -27,7 +27,7 @@
  	if (!is_mt7915(&dev->mt76))
  		wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_STA_TX_PWR);
 diff --git a/mt7915/mac.c b/mt7915/mac.c
-index a0d1f893..af9f6a19 100644
+index a0d1f89..76239a1 100644
 --- a/mt7915/mac.c
 +++ b/mt7915/mac.c
 @@ -1048,6 +1048,7 @@ static void mt7915_mac_add_txs(struct mt7915_dev *dev, void *data)
@@ -78,10 +78,10 @@
  		spin_lock_bh(&phy->stats_lock);
  	}
 diff --git a/mt7915/main.c b/mt7915/main.c
-index 7b341627..9ca76c42 100644
+index aae652d..791f5aa 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -1141,7 +1141,7 @@ static void mt7915_sta_statistics(struct ieee80211_hw *hw,
+@@ -1172,7 +1172,7 @@ static void mt7915_sta_statistics(struct ieee80211_hw *hw,
  		sinfo->tx_bytes = msta->wcid.stats.tx_bytes;
  		sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_BYTES64);
  
@@ -91,10 +91,10 @@
  			sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_PACKETS);
  		}
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 07a4b085..2334128e 100644
+index a422567..6f93b3b 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -4396,7 +4396,8 @@ int mt7915_mcu_twt_agrt_update(struct mt7915_dev *dev,
+@@ -4408,7 +4408,8 @@ int mt7915_mcu_twt_agrt_update(struct mt7915_dev *dev,
  				 &req, sizeof(req), true);
  }
  
@@ -104,7 +104,7 @@
  {
  	struct {
  		__le32 cmd;
-@@ -4440,11 +4441,33 @@ int mt7915_mcu_wed_wa_tx_stats(struct mt7915_dev *dev, u16 wlan_idx)
+@@ -4452,11 +4453,33 @@ int mt7915_mcu_wed_wa_tx_stats(struct mt7915_dev *dev, u16 wlan_idx)
  	rcu_read_lock();
  
  	wcid = rcu_dereference(dev->mt76.wcid[wlan_idx]);
@@ -141,10 +141,10 @@
  out:
  	dev_kfree_skb(skb);
 diff --git a/mt7915/mmio.c b/mt7915/mmio.c
-index 25893bd2..019507d3 100644
+index 89523a5..00c190c 100644
 --- a/mt7915/mmio.c
 +++ b/mt7915/mmio.c
-@@ -699,8 +699,34 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
+@@ -704,8 +704,34 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
  		wcid->stats.rx_packets += le32_to_cpu(stats->rx_pkt_cnt);
  		wcid->stats.rx_errors += le32_to_cpu(stats->rx_err_cnt);
  		wcid->stats.rx_drops += le32_to_cpu(stats->rx_drop_cnt);
@@ -180,10 +180,10 @@
  }
  
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 85c5c95c..424596fd 100644
+index 04fc539..faa1ca2 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -660,7 +660,8 @@ int mt7915_mcu_get_rx_rate(struct mt7915_phy *phy, struct ieee80211_vif *vif,
+@@ -674,7 +674,8 @@ int mt7915_mcu_get_rx_rate(struct mt7915_phy *phy, struct ieee80211_vif *vif,
  			   struct ieee80211_sta *sta, struct rate_info *rate);
  int mt7915_mcu_rdd_background_enable(struct mt7915_phy *phy,
  				     struct cfg80211_chan_def *chandef);
@@ -194,7 +194,7 @@
  int mt7915_mcu_rf_regval(struct mt7915_dev *dev, u32 regidx, u32 *val, bool set);
  int mt7915_mcu_wa_cmd(struct mt7915_dev *dev, int cmd, u32 a1, u32 a2, u32 a3);
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index da33578c..27592d71 100644
+index 4093f08..4a5e99d 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -3797,7 +3797,7 @@ static int mt7915_reset_counter(void *data, u64 val)
diff --git a/recipes-wifi/linux-mt76/files/patches/9999-mt76-revert-for-backports-5.15-wireless-stack.patch b/recipes-wifi/linux-mt76/files/patches/9999-mt76-revert-for-backports-5.15-wireless-stack.patch
index bd5447d..d7f3bdf 100644
--- a/recipes-wifi/linux-mt76/files/patches/9999-mt76-revert-for-backports-5.15-wireless-stack.patch
+++ b/recipes-wifi/linux-mt76/files/patches/9999-mt76-revert-for-backports-5.15-wireless-stack.patch
@@ -1,4 +1,4 @@
-From 601321117f0811d9ce7dbefab1bf3c76e7c7a0f1 Mon Sep 17 00:00:00 2001
+From 59986a184753f6bef950f9fb3613984b6f22da64 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Wed, 5 Apr 2023 08:29:19 +0800
 Subject: [PATCH] mt76: revert for backports-5.15 wireless stack
@@ -37,7 +37,7 @@
  		napi_enable(&dev->napi[i]);
  	}
 diff --git a/mac80211.c b/mac80211.c
-index 52c552b..b5cee8c 100644
+index 35cd297..629770c 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -1521,7 +1521,7 @@ EXPORT_SYMBOL_GPL(mt76_get_sar_power);
@@ -145,10 +145,10 @@
  		.bcn_interval = cpu_to_le16(vif->bss_conf.beacon_int),
  	};
 diff --git a/mt76_connac_mac.c b/mt76_connac_mac.c
-index ee5177f..383a25f 100644
+index ff3cefa..fdb0142 100644
 --- a/mt76_connac_mac.c
 +++ b/mt76_connac_mac.c
-@@ -1120,7 +1120,7 @@ void mt76_connac2_tx_check_aggr(struct ieee80211_sta *sta, __le32 *txwi)
+@@ -1122,7 +1122,7 @@ void mt76_connac2_tx_check_aggr(struct ieee80211_sta *sta, __le32 *txwi)
  	u32 val;
  
  	if (!sta ||
@@ -524,10 +524,10 @@
  		if (info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE)
  			ba_size = 0;
 diff --git a/mt7915/debugfs.c b/mt7915/debugfs.c
-index 73e132b..5345ff7 100644
+index 4b3af79..ebf7c9a 100644
 --- a/mt7915/debugfs.c
 +++ b/mt7915/debugfs.c
-@@ -1915,8 +1915,8 @@ static ssize_t mt7915_sta_fixed_rate_set(struct file *file,
+@@ -2006,8 +2006,8 @@ static ssize_t mt7915_sta_fixed_rate_set(struct file *file,
  
  	phy.ldpc = (phy.bw || phy.ldpc) * GENMASK(2, 0);
  	for (i = 0; i <= phy.bw; i++) {
@@ -554,10 +554,10 @@
  
  	mt7915_dma_enable(dev, false);
 diff --git a/mt7915/init.c b/mt7915/init.c
-index cf576ed..ad5f788 100644
+index b519c04..2b4fc4e 100644
 --- a/mt7915/init.c
 +++ b/mt7915/init.c
-@@ -1140,8 +1140,7 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
+@@ -1142,8 +1142,7 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
  			mt76_connac_gen_ppe_thresh(he_cap->ppe_thres, nss);
  		} else {
  			he_cap_elem->phy_cap_info[9] |=
@@ -568,7 +568,7 @@
  
  		if (band == NL80211_BAND_6GHZ) {
 diff --git a/mt7915/main.c b/mt7915/main.c
-index f29ac4f..b941821 100644
+index 791f5aa..88ad52a 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -530,7 +530,7 @@ static int mt7915_config(struct ieee80211_hw *hw, u32 changed)
@@ -646,7 +646,7 @@
  {
  	struct mt7915_dev *dev = mt7915_hw_dev(hw);
  
-@@ -1293,10 +1271,10 @@ static int mt7915_sta_set_txpwr(struct ieee80211_hw *hw,
+@@ -1294,10 +1272,10 @@ static int mt7915_sta_set_txpwr(struct ieee80211_hw *hw,
  {
  	struct mt7915_phy *phy = mt7915_hw_phy(hw);
  	struct mt7915_dev *dev = mt7915_hw_dev(hw);
@@ -660,7 +660,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 3bbfc59..14a3c86 100644
+index 6f93b3b..1bba999 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -67,7 +67,7 @@ mt7915_mcu_set_sta_he_mcs(struct ieee80211_sta *sta, __le16 *he_mcs,
@@ -1252,7 +1252,7 @@
  	mt7915_mcu_beacon_cntdwn(vif, rskb, skb, bcn, &offs);
  	mt7915_mcu_beacon_mbss(rskb, skb, vif, bcn, &offs);
  	mt7915_mcu_beacon_cont(dev, vif, rskb, skb, bcn, &offs);
-@@ -3323,17 +3403,17 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
+@@ -3322,17 +3402,17 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
  	if (txpower) {
  		u32 offs, len, i;
  
@@ -1274,7 +1274,7 @@
  					len = sku_len[SKU_HE_RU242] * 4;
  				}
 diff --git a/mt7915/mmio.c b/mt7915/mmio.c
-index 25893bd..2d849d5 100644
+index 00c190c..54362d4 100644
 --- a/mt7915/mmio.c
 +++ b/mt7915/mmio.c
 @@ -651,7 +651,7 @@ static u32 mt7915_mmio_wed_init_rx_buf(struct mtk_wed_device *wed, int size)
diff --git a/recipes-wifi/linux-mt76/files/patches/patches.inc b/recipes-wifi/linux-mt76/files/patches/patches.inc
index 72af7dc..86f7b7c 100644
--- a/recipes-wifi/linux-mt76/files/patches/patches.inc
+++ b/recipes-wifi/linux-mt76/files/patches/patches.inc
@@ -6,42 +6,44 @@
     file://0004-wifi-mt76-mt7915-fix-DFS-CAC-tx-emission-issue-after.patch \
     file://0005-wifi-mt76-mt7915-add-pc-stack-dump-for-WM-s-coredump.patch \
     file://0006-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch \
-    file://0007-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch \
-    file://0008-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch \
-    file://0999-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch \
-    file://1000-wifi-mt76-mt7915-csi-implement-csi-support.patch \
-    file://1001-wifi-mt76-mt7915-air-monitor-support.patch \
-    file://1002-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch \
-    file://1003-wifi-mt76-mt7915-certification-patches.patch \
-    file://1004-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch \
-    file://1005-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch \
-    file://1006-wifi-mt76-mt7915-drop-undefined-action-frame.patch \
-    file://1007-wifi-mt76-testmode-rework-testmode-init-registers.patch \
-    file://1008-wifi-mt76-testmode-additional-supports.patch \
-    file://1009-wifi-mt76-testmode-add-pre-cal-support.patch \
-    file://1010-wifi-mt76-testmode-add-iBF-command-mode-support.patch \
-    file://1011-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch \
-    file://1012-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch \
-    file://1013-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch \
-    file://1014-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch \
-    file://1015-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch \
-    file://1016-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch \
-    file://1017-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch \
-    file://1018-wifi-mt76-mt7915-implement-bin-file-mode.patch \
-    file://1019-wifi-mt76-mt7915-Add-mu-dump-support.patch \
-    file://1020-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch \
-    file://1021-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch \
-    file://1022-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch \
-    file://1023-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch \
-    file://1024-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch \
-    file://1025-wifi-mt76-mt7915-amsdu-set-and-get-control.patch \
-    file://1026-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch \
-    file://1027-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch \
-    file://1028-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch \
-    file://1029-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch \
-    file://1030-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch \
-    file://1031-wifi-mt76-mt7915-remove-BW160-support.patch \
-    file://1032-wifi-mt76-mt7915-add-txpower-info-dump-support.patch \
+    file://0007-wifi-mt76-mt7915-move-temperature-margin-check-to-mt.patch \
+    file://0008-wifi-mt76-mt7915-fix-tlv-length-of-mt7915_mcu_get_ch.patch \
+    file://0999-wifi-mt76-mt7915-build-pass-for-Linux-Kernel-5.4-fix.patch \
+    file://1000-wifi-mt76-mt7915-add-mtk-internal-debug-tools-for-mt.patch \
+    file://1001-wifi-mt76-mt7915-csi-implement-csi-support.patch \
+    file://1002-wifi-mt76-mt7915-air-monitor-support.patch \
+    file://1003-wifi-mt76-mt7915-add-support-for-muru_onoff-via.patch \
+    file://1004-wifi-mt76-mt7915-certification-patches.patch \
+    file://1005-wifi-mt76-mt7915-add-support-for-runtime-set-in-band.patch \
+    file://1006-wifi-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch \
+    file://1007-wifi-mt76-mt7915-drop-undefined-action-frame.patch \
+    file://1008-wifi-mt76-testmode-rework-testmode-init-registers.patch \
+    file://1009-wifi-mt76-testmode-additional-supports.patch \
+    file://1010-wifi-mt76-testmode-add-pre-cal-support.patch \
+    file://1011-wifi-mt76-testmode-add-iBF-command-mode-support.patch \
+    file://1012-wifi-mt76-testmode-add-ZWDFS-test-mode-support.patch \
+    file://1013-wifi-mt76-testmode-add-iBF-eBF-cal-and-cert-commands.patch \
+    file://1014-wifi-mt76-mt7915-init-rssi-in-WTBL-when-add-station.patch \
+    file://1015-wifi-mt76-connac-airtime-fairness-feature-off-in-mac.patch \
+    file://1016-wifi-mt76-mt7915-add-mt7986-and-mt7916-pre-calibrati.patch \
+    file://1017-wifi-mt76-mt7915-add-phy-capability-vendor-command.patch \
+    file://1018-wifi-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable.patch \
+    file://1019-wifi-mt76-mt7915-implement-bin-file-mode.patch \
+    file://1020-wifi-mt76-mt7915-Add-mu-dump-support.patch \
+    file://1021-wifi-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ct.patch \
+    file://1022-wifi-mt76-mt7915-add-ibf-control-vendor-cmd.patch \
+    file://1023-wifi-mt76-mt7915-add-E3-re-bonding-for-low-yield-rat.patch \
+    file://1024-wifi-mt76-mt7915-support-on-off-SW-ACI-through-debug.patch \
+    file://1025-wifi-mt76-mt7915-add-bf-backoff-limit-table-support.patch \
+    file://1026-wifi-mt76-mt7915-amsdu-set-and-get-control.patch \
+    file://1027-wifi-mt76-mt7915-Add-vendor-command-attribute-for-RT.patch \
+    file://1028-wifi-mt76-mt7915-add-vendor-cmd-to-get-available-col.patch \
+    file://1029-wifi-mt76-mt7915-disable-SW-ACI-by-default.patch \
+    file://1030-wifi-mt76-mt7915-add-muru-user-number-debug-command.patch \
+    file://1031-wifi-mt76-mt7915-add-debugfs-for-fw-coredump.patch \
+    file://1032-wifi-mt76-mt7915-remove-BW160-support.patch \
+    file://1033-wifi-mt76-mt7915-add-txpower-info-dump-support.patch \
+    file://1034-wifi-mt76-mt7915-report-tx-and-rx-byte-to-tpt_led-wh.patch \
     file://2000-wifi-mt76-mt7915-wed-add-wed-tx-support.patch \
     file://2001-wifi-mt76-mt7915-wed-add-wds-support-when-wed-is-ena.patch \
     file://2002-wifi-mt76-mt7915-wed-add-fill-receive-path-to-report.patch \
@@ -49,8 +51,8 @@
     file://2004-wifi-mt76-mt7915-wed-HW-ATF-support-for-mt7986.patch \
     file://2005-wifi-mt76-mt7915-wed-add-rxwi-for-further-in-chip-rr.patch \
     file://2006-wifi-mt76-add-debugfs-knob-to-show-packet-error-rate.patch \
-    file://2008-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch \
-    file://2009-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch \
-    file://2010-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch \
+    file://2007-wifi-mt76-mt7915-add-ctxd-support-for-mt7916.patch \
+    file://2008-wifi-mt76-connac-wed-add-wed-rx-copy-skb.patch \
+    file://2009-wifi-mt76-mt7915-wed-add-per-bss-statistic-info.patch \
     file://9999-mt76-revert-for-backports-5.15-wireless-stack.patch \
     "
diff --git a/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7996_eeprom.bin b/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7996_eeprom.bin
index d27e912..3ef03df 100755
--- a/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7996_eeprom.bin
+++ b/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7996_eeprom.bin
Binary files differ
diff --git a/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7996_eeprom_dual_404.bin b/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7996_eeprom_dual_404.bin
new file mode 100644
index 0000000..1a9f6c3
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7996_eeprom_dual_404.bin
Binary files differ
diff --git a/recipes-wifi/linux-mt76/mt76.inc b/recipes-wifi/linux-mt76/mt76.inc
index 9843dd0..edabeb0 100644
--- a/recipes-wifi/linux-mt76/mt76.inc
+++ b/recipes-wifi/linux-mt76/mt76.inc
@@ -1 +1 @@
-SRCREV ?= "f704e4f83c6fd21fb39046fa328efb51bee6383b"
+SRCREV ?= "cd3dfe39276905307cc028ac8edf2c06963cda23"
diff --git a/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
index 27d4416..af79b24 100644
--- a/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0026-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
@@ -1,8 +1,8 @@
-From 9444dedd3f8bd97887c9cf274587b4c76f94d621 Mon Sep 17 00:00:00 2001
+From ff273381d463d82898df70cb7b43341405e3d943 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 12 May 2023 05:21:28 +0800
-Subject: [PATCH 26/32] hostapd: mtk: avoid setting beacon after wpa_supplicant
- stop the AP
+Subject: [PATCH] hostapd: mtk: Avoid setting beacon after wpa_supplicant stop
+ the AP
 
 Add a new variable 'stopped_by_supplicant' to indicate the AP
 interface is currently stopped by co-locating STA interface.
@@ -10,16 +10,16 @@
 will reload the co-locating AP interfaces and marks the
 'stopped_by_supplicant' as 0.
 ---
- hostapd/ctrl_iface.c   | 4 ++++
- src/ap/beacon.c        | 4 ++++
- src/ap/bss_load.c      | 3 ++-
- src/ap/ctrl_iface_ap.c | 4 +++-
- src/ap/hostapd.c       | 2 ++
- src/ap/hostapd.h       | 1 +
- 6 files changed, 16 insertions(+), 2 deletions(-)
+ hostapd/ctrl_iface.c   |  4 ++++
+ src/ap/beacon.c        |  5 ++++-
+ src/ap/bss_load.c      | 10 +++++++---
+ src/ap/ctrl_iface_ap.c |  4 +++-
+ src/ap/hostapd.c       |  4 +++-
+ src/ap/hostapd.h       |  1 +
+ 6 files changed, 22 insertions(+), 6 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 9989a04ce..4952bef89 100644
+index 9989a04..4952bef 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
 @@ -194,11 +194,15 @@ static int hostapd_ctrl_iface_update(struct hostapd_data *hapd, char *txt)
@@ -39,19 +39,20 @@
  
  	iface->interfaces->config_read_cb = config_read_cb;
 diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index f26e5254c..24144feff 100644
+index f26e525..1aaeaa8 100644
 --- a/src/ap/beacon.c
 +++ b/src/ap/beacon.c
-@@ -2247,6 +2247,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
+@@ -2246,7 +2246,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
+ 			continue;
  
  		for (i = 0; i < other->num_bss; i++) {
- 			if (other->bss[i] && other->bss[i]->started)
+-			if (other->bss[i] && other->bss[i]->started)
 +			if (other->bss[i] && other->bss[i]->started &&
 +			    !other->bss[i]->stopped_by_supplicant)
  				__ieee802_11_set_beacon(other->bss[i]);
  		}
  	}
-@@ -2262,6 +2264,7 @@ int ieee802_11_set_beacons(struct hostapd_iface *iface)
+@@ -2262,6 +2263,7 @@ int ieee802_11_set_beacons(struct hostapd_iface *iface)
  
  	for (i = 0; i < iface->num_bss; i++) {
  		if (iface->bss[i]->started &&
@@ -59,7 +60,7 @@
  		    ieee802_11_set_beacon(iface->bss[i]) < 0)
  			ret = -1;
  	}
-@@ -2278,6 +2281,7 @@ int ieee802_11_update_beacons(struct hostapd_iface *iface)
+@@ -2278,6 +2280,7 @@ int ieee802_11_update_beacons(struct hostapd_iface *iface)
  
  	for (i = 0; i < iface->num_bss; i++) {
  		if (iface->bss[i]->beacon_set_done && iface->bss[i]->started &&
@@ -68,21 +69,42 @@
  			ret = -1;
  	}
 diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
-index 725d3cd34..ae5552140 100644
+index 725d3cd..f2a1a10 100644
 --- a/src/ap/bss_load.c
 +++ b/src/ap/bss_load.c
-@@ -46,7 +46,8 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 	int err;
- 	struct hostapd_iface *iface = hapd->iface;
- 
--	if (!(hapd->beacon_set_done && hapd->started))
-+	if (!(hapd->beacon_set_done && hapd->started &&
-+	      !hapd->stopped_by_supplicant))
+@@ -49,6 +49,9 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 	if (!(hapd->beacon_set_done && hapd->started))
  		return;
  
++	if(hapd->stopped_by_supplicant)
++		goto skip_update;
++
  	err = hostapd_drv_get_survey(hapd, hapd->iface->freq);
+ 	if (err) {
+ 		wpa_printf(MSG_ERROR, "BSS Load: Failed to get survey data");
+@@ -57,9 +60,6 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 
+ 	ieee802_11_set_beacon(hapd);
+ 
+-	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
+-		return;
+-
+ 	if (hapd->conf->chan_util_avg_period) {
+ 		iface->chan_util_samples_sum += iface->channel_utilization;
+ 		iface->chan_util_num_sample_periods +=
+@@ -75,6 +75,10 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 		}
+ 	}
+ 
++skip_update:
++	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
++		return;
++
+ 	eloop_register_timeout(sec, usec, update_channel_utilization, hapd,
+ 			       NULL);
+ }
 diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index aab8a4665..d52188bb7 100644
+index aab8a46..d52188b 100644
 --- a/src/ap/ctrl_iface_ap.c
 +++ b/src/ap/ctrl_iface_ap.c
 @@ -1028,8 +1028,10 @@ int hostapd_ctrl_iface_stop_ap(struct hostapd_data *hapd)
@@ -98,7 +120,7 @@
  	return 0;
  }
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index abadd1ad0..6e6ae77d7 100644
+index abadd1a..afe0611 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -508,6 +508,7 @@ void hostapd_free_hapd_data(struct hostapd_data *hapd)
@@ -117,8 +139,17 @@
  
  	if (!first || first == -1) {
  		u8 *addr = hapd->own_addr;
+@@ -4285,7 +4287,7 @@ void hostapd_switch_color(struct hostapd_data *hapd, u64 bitmap)
+ {
+ 	struct os_reltime now;
+ 
+-	if (hapd->cca_in_progress)
++	if (hapd->cca_in_progress || hapd->stopped_by_supplicant)
+ 		return;
+ 
+ 	if (os_get_reltime(&now))
 diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
-index 072205c3c..4f1f98824 100644
+index 072205c..4f1f988 100644
 --- a/src/ap/hostapd.h
 +++ b/src/ap/hostapd.h
 @@ -191,6 +191,7 @@ struct hostapd_data {
@@ -130,5 +161,5 @@
  	u8 own_addr[ETH_ALEN];
  	u8 mld_addr[ETH_ALEN];
 -- 
-2.39.2
+2.25.1
 
diff --git a/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch
new file mode 100644
index 0000000..295ce2b
--- /dev/null
+++ b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch
@@ -0,0 +1,28 @@
+From 11c7b9e7b7d4dfef23b2f8f2d72591c1c3590fd5 Mon Sep 17 00:00:00 2001
+From: MeiChia Chiu <meichia.chiu@mediatek.com>
+Date: Fri, 14 Jul 2023 17:19:13 +0800
+Subject: [PATCH] hostapd: mtk: Update parameter_set_count in MU EDCA IE
+
+without this patch, MU EDCA Parameter update count not equal to
+WMM Parameter set count.
+---
+ src/ap/ieee802_11_he.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/ap/ieee802_11_he.c b/src/ap/ieee802_11_he.c
+index 9407dd6..353e815 100644
+--- a/src/ap/ieee802_11_he.c
++++ b/src/ap/ieee802_11_he.c
+@@ -316,6 +316,9 @@ u8 * hostapd_eid_he_mu_edca_parameter_set(struct hostapd_data *hapd, u8 *eid)
+ 	edca = (struct ieee80211_he_mu_edca_parameter_set *) pos;
+ 	os_memcpy(edca, &hapd->iface->conf->he_mu_edca, sizeof(*edca));
+ 
++	if (hapd->conf->wmm_enabled)
++		edca->he_qos_info = hapd->parameter_set_count % 0xf;
++
+ 	wpa_hexdump(MSG_DEBUG, "HE: MU EDCA Parameter Set element",
+ 		    pos, sizeof(*edca));
+ 
+-- 
+2.39.0
+
diff --git a/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch
new file mode 100644
index 0000000..45a340d
--- /dev/null
+++ b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch
@@ -0,0 +1,53 @@
+From d65c803ab5583dddc6574b09fee47ccfb39cb99b Mon Sep 17 00:00:00 2001
+From: mtk20656 <chank.chen@mediatek.com>
+Date: Mon, 24 Jul 2023 11:30:27 +0800
+Subject: [PATCH] hostapd: mtk: add extension IE list for non-inherit IE in
+ mbssid
+
+Certain clients do not scan all non tx profiles due to absence of
+element ID extension list which is mandatory field in non inheritance
+IE. Non inheritance Element ID is followed by extension element ID.
+Length is expected to be mentioned. Currently we do not support any
+extension element and hence filling length as 0.
+
+Signed-off-by: mtk20656 <chank.chen@mediatek.com>
+---
+ src/ap/ieee802_11.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+old mode 100644
+new mode 100755
+index 1bf5bea..d36798e
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -7639,7 +7639,7 @@ static size_t hostapd_eid_mbssid_elem_len(struct hostapd_data *hapd,
+ 		else if (hapd->conf->xrates_supported)
+ 			ie_count++;
+ 		if (ie_count)
+-			nontx_profile_len += 4 + ie_count;
++			nontx_profile_len += 5 + ie_count;
+ 
+ 		if (len + nontx_profile_len > 255)
+ 			break;
+@@ -7780,11 +7780,16 @@ static u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8 *end,
+ 			non_inherit_ie[ie_count++] = WLAN_EID_EXT_SUPP_RATES;
+ 		if (ie_count) {
+ 			*eid++ = WLAN_EID_EXTENSION;
+-			*eid++ = 2 + ie_count;
++			*eid++ = 3 + ie_count;
+ 			*eid++ = WLAN_EID_EXT_NON_INHERITANCE;
+ 			*eid++ = ie_count;
+ 			os_memcpy(eid, non_inherit_ie, ie_count);
+ 			eid += ie_count;
++			/* Element ID extension list is mandatory part of non inheritance IE.
++			 * It has a length field followed by extension IEs. Currently no
++			 * extension IEs are supported so filling length as 0.
++			 */
++			*eid++ = 0;
+ 		}
+ 
+ 		*eid_len_pos = (eid - eid_len_pos) - 1;
+-- 
+2.18.0
+
diff --git a/recipes-wifi/wpa-supplicant/files/patches-2.10.3/patches.inc b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/patches.inc
index e11b91d..78dae59 100644
--- a/recipes-wifi/wpa-supplicant/files/patches-2.10.3/patches.inc
+++ b/recipes-wifi/wpa-supplicant/files/patches-2.10.3/patches.inc
@@ -92,6 +92,8 @@
     file://mtk-0032-hostapd-mtk-Add-HE-capabilities-check.patch \
     file://mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch \
     file://mtk-0035-hostapd-mtk-Check-the-bridge-after-ioctl-SIOCBRADDIF.patch \
+    file://mtk-0036-hostapd-mtk-Update-parameter_set_count-in-MU-EDCA-IE.patch \
+    file://mtk-0037-hostapd-mtk-Add-extension-IE-list-for-non-inherit-IE.patch \
     file://mtk-1000-hostapd-mtk-update-eht-operation-element.patch \
     file://mtk-1001-hostapd-mtk-Add-support-for-gtk-rekeying-in-hostapd-.patch \
     "
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch
index edab139..6d9f728 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0001-hostapd-mtk-Add-neighbor-report-and-BSS-Termination-.patch
@@ -1,7 +1,7 @@
-From 6e4d4d6feafd223615cddf334b6c3beb6e5191cc Mon Sep 17 00:00:00 2001
+From 046a0312fb59b3658f8fdec314cdfb73a8d6fca4 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 01/29] hostapd: mtk: Add neighbor report and BSS Termination
+Subject: [PATCH 01/35] hostapd: mtk: Add neighbor report and BSS Termination
  for MBO certification
 
 1. Add hostapd_neighbor_count() and hostapd_neighbor_insert_buffer ()
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
index b4ce65c..3459c19 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0002-hostapd-mtk-print-sae-groups-by-hostapd-ctrl.patch
@@ -1,7 +1,7 @@
-From 1320c3e6d39c08371da1a80ffa1ae3ecb711c742 Mon Sep 17 00:00:00 2001
+From d927ebf4a9373eabd383514bad580dc9d7fba3a4 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 02/29] hostapd: mtk: print sae groups by hostapd ctrl
+Subject: [PATCH 02/35] hostapd: mtk: print sae groups by hostapd ctrl
 
 ---
  hostapd/ctrl_iface.c | 13 +++++++++++++
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch
index 8a2ed4d..dde876a 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0003-hostapd-mtk-add-support-for-runtime-set-in-band-disc.patch
@@ -1,7 +1,7 @@
-From 11a3a8dcba0e17a032bf8445c6bb50835cbe8e85 Mon Sep 17 00:00:00 2001
+From 33afb892c534b88aea9206740c53a3da0966861f 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 03/29] hostapd: mtk: add support for runtime set in-band
+Subject: [PATCH 03/35] hostapd: mtk: add support for runtime set in-band
  discovery
 
 Usage:
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
index 0490689..a5d2898 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0004-hostapd-mtk-Add-mtk_vendor.h.patch
@@ -1,7 +1,7 @@
-From f05288a19fe295685de4cb419c31f4bd11a774df Mon Sep 17 00:00:00 2001
+From 258ca680978d344390c79db8cc9431d89e794c3b Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 30 May 2022 15:04:57 +0800
-Subject: [PATCH 04/29] hostapd: mtk: Add mtk_vendor.h
+Subject: [PATCH 04/35] hostapd: mtk: Add mtk_vendor.h
 
 ---
  src/common/mtk_vendor.h | 195 ++++++++++++++++++++++++++++++++++++++++
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
index ade6b9d..818f367 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0005-hostapd-mtk-Support-EDCCA-hostapd-configuration.patch
@@ -1,7 +1,7 @@
-From c69f15f922f2095b6f36a5bbd5186e4ff5e44021 Mon Sep 17 00:00:00 2001
+From fd2d3a61e36bff90a1fcd88e208da9278e5e3e18 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 30 May 2022 16:31:34 +0800
-Subject: [PATCH 05/29] hostapd: mtk: Support EDCCA hostapd configuration
+Subject: [PATCH 05/35] hostapd: mtk: Support EDCCA hostapd configuration
 
 edcca_enable and edcca_compensation and implement edcca related handlers.
 ---
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
index 026b4fd..f51b42f 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
@@ -1,7 +1,7 @@
-From f27bf939f8e2815e2f65790e538fba3bfc46a9c3 Mon Sep 17 00:00:00 2001
+From e063e89785d74506976e34a0a3cbb14836d6b8e3 Mon Sep 17 00:00:00 2001
 From: TomLiu <tomml.liu@mediatek.com>
 Date: Tue, 9 Aug 2022 10:23:44 -0700
-Subject: [PATCH 06/29] hostapd: mtk: Add hostapd MU SET/GET control
+Subject: [PATCH 06/35] hostapd: mtk: Add hostapd MU SET/GET control
 
 ---
  hostapd/config_file.c             |   9 +++
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
index b8d1836..cba0282 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
@@ -1,7 +1,7 @@
-From 94c7af6787585f1d063ce90c33208aa7e4f5730e Mon Sep 17 00:00:00 2001
+From 4a1abf37db598ee0965923ab579078baffabf73c Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 2 Sep 2022 01:03:23 +0800
-Subject: [PATCH 07/29] hostapd: mtk: Add three wire PTA ctrl hostapd vendor
+Subject: [PATCH 07/35] hostapd: mtk: Add three wire PTA ctrl hostapd vendor
  command
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
index acefdee..031e6b4 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
@@ -1,7 +1,7 @@
-From a75dc659e600dc2d6f7eda2dc9886747b6c55254 Mon Sep 17 00:00:00 2001
+From 579573f2b64970fab71640fce57cbacfdced8d22 Mon Sep 17 00:00:00 2001
 From: mtk27835 <shurong.wen@mediatek.com>
 Date: Wed, 7 Sep 2022 14:41:51 -0700
-Subject: [PATCH 08/29] hostapd: mtk: Add hostapd iBF control
+Subject: [PATCH 08/35] hostapd: mtk: Add hostapd iBF control
 
 Signed-off-by: mtk27835 <shurong.wen@mediatek.com>
 ---
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch
index d96423d..96c0af7 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0009-hostapd-mtk-Do-not-include-HE-capab-IE-if-associated.patch
@@ -1,7 +1,7 @@
-From 0c960d33f909f8c119d533cc57b1585d77e319e1 Mon Sep 17 00:00:00 2001
+From 250d224a1cff6bed4cd51c2c5eeb3e9bd7ef8e49 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 09/29] hostapd: mtk: Do not include HE capab IE if associated
+Subject: [PATCH 09/35] hostapd: mtk: Do not include HE capab IE if associated
  sta's HE capab IE is invalid
 
 ---
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch
index ffe0426..135ba9a 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0010-hostapd-mtk-Add-DFS-detection-mode.patch
@@ -1,7 +1,7 @@
-From f57c471059e4e9909b7fc6cbd351343cd2628e2c Mon Sep 17 00:00:00 2001
+From 31eb9b93e4bc7006eb96fbfc8201ad22d3faf061 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 14:55:49 +0800
-Subject: [PATCH 10/29] hostapd: mtk: Add DFS detection mode
+Subject: [PATCH 10/35] hostapd: mtk: Add DFS detection mode
 
 Add DFS detection mode for testing radar detection rate.
 If DFS detection mode is on, AP will not switch channels when receiving
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch
index 187f804..69f3fa2 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0011-hostapd-mtk-Add-DFS-offchan-channel-switch.patch
@@ -1,7 +1,7 @@
-From 43e5bfa91c67528eb2a37071e0e4a6f32807ad8f Mon Sep 17 00:00:00 2001
+From b087dbc78f6911b16c9c00ac0a9246a89871225f Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 14:56:55 +0800
-Subject: [PATCH 11/29] hostapd: mtk: Add DFS offchan channel switch
+Subject: [PATCH 11/35] hostapd: mtk: Add DFS offchan channel switch
 
 Add DFS background chain channel switch command for testing purpose.
 This feature is implemented via hostapd_cli command.
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
index 53936b2..aa72f2a 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0012-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
@@ -1,7 +1,7 @@
-From 8dee72b3608710a9cb6e9694c3d6535be000e104 Mon Sep 17 00:00:00 2001
+From 9b82b5966b57403f389759b6dfb8318dd862b480 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 16 Dec 2022 03:57:11 +0800
-Subject: [PATCH 12/29] hostapd: mtk: Add amsdu set get ctrl
+Subject: [PATCH 12/35] hostapd: mtk: Add amsdu set get ctrl
 
 ---
  hostapd/config_file.c             |   9 +++
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch
index 094e102..84c1221 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0013-hostapd-mtk-Add-he_ldpc-configuration.patch
@@ -1,7 +1,7 @@
-From 858e23d3ff04d156a6391168d2554796962b294c Mon Sep 17 00:00:00 2001
+From cbec0a6786a799da0411d5b11f22151a7a66c51c Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 12 Jan 2023 15:18:19 +0800
-Subject: [PATCH 13/29] hostapd: mtk: Add he_ldpc configuration
+Subject: [PATCH 13/35] hostapd: mtk: Add he_ldpc configuration
 
 ---
  hostapd/config_file.c        | 2 ++
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch
index abca258..8805a45 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0014-hostapd-mtk-Add-the-broadcast-destination-address-of.patch
@@ -1,7 +1,7 @@
-From d45d0c40a81b1196b0dc4cc8da08fe736f04022f Mon Sep 17 00:00:00 2001
+From ad503bc69ccedcc7272d85ad9ebb2a5653853a15 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Tue, 17 Jan 2023 13:25:18 +0800
-Subject: [PATCH 14/29] hostapd: mtk: Add the broadcast destination address of
+Subject: [PATCH 14/35] hostapd: mtk: Add the broadcast destination address of
  Probe Response frame on 6 GHz
 
 According to IEEE 802.11ax 26.17.2.3.2,
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch
index a74780c..e3e0611 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0015-hostapd-mtk-Add-vendor-command-attribute-for-RTS-BW-.patch
@@ -1,7 +1,7 @@
-From a0cc42414bd6abd0342f2fd06c09650c366c959c Mon Sep 17 00:00:00 2001
+From c585424eaba09fcce7a17250fc7eef84c63f7a3a Mon Sep 17 00:00:00 2001
 From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
 Date: Tue, 24 Jan 2023 19:06:44 +0800
-Subject: [PATCH 15/29] hostapd: mtk: Add vendor command attribute for RTS BW
+Subject: [PATCH 15/35] hostapd: mtk: Add vendor command attribute for RTS BW
  signaling.
 
 Signed-off-by: himanshu.goyal <himanshu.goyal@mediatek.com>
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch
index 30cc7eb..26fd1de 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0016-hostapd-mtk-6G-band-does-not-require-DFS.patch
@@ -1,7 +1,7 @@
-From 08a909a1a06a2231fda12b34aad68c6361c45e6b Mon Sep 17 00:00:00 2001
+From 2598c3fce61bdca1c3b5684e39cbfa368aea9011 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 13 Feb 2023 11:03:53 +0800
-Subject: [PATCH 16/29] hostapd: mtk: 6G band does not require DFS
+Subject: [PATCH 16/35] hostapd: mtk: 6G band does not require DFS
 
 ---
  src/ap/dfs.c | 1 +
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch
index 81e22a2..fe049e9 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0017-hostapd-mtk-Fix-sending-wrong-VHT-operation-IE-in-CS.patch
@@ -1,7 +1,7 @@
-From 4c7054d6a1d7e373d93b6abf309c41c0151e523f Mon Sep 17 00:00:00 2001
+From 6acc166aa7873e91da230047d6ae15a5edf9ada3 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 11:01:18 +0800
-Subject: [PATCH 17/29] hostapd: mtk: Fix sending wrong VHT operation IE in CSA
+Subject: [PATCH 17/35] hostapd: mtk: Fix sending wrong VHT operation IE in CSA
  while using ZWDFS
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch
index 059ded9..890198f 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0018-hostapd-mtk-Add-sta-assisted-DFS-state-update-mechan.patch
@@ -1,7 +1,7 @@
-From d851c49cd0afb0e86676670f8b49170bb0386cba Mon Sep 17 00:00:00 2001
+From 041170e5089b0ec71074ebb0474ac2972e8a2323 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 10:51:47 +0800
-Subject: [PATCH 18/29] hostapd: mtk: Add sta-assisted DFS state update
+Subject: [PATCH 18/35] hostapd: mtk: Add sta-assisted DFS state update
  mechanism
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch
index d5f0dac..07a8510 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0019-hostapd-mtk-Fix-auto-ht-issue-when-switching-to-DFS-.patch
@@ -1,7 +1,8 @@
-From a71a78bc51b74d331aeb3f900c03480d058d5233 Mon Sep 17 00:00:00 2001
+From f175ec97644841fb3a07cfbd965994bb7b09683c Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Feb 2023 16:58:20 +0800
-Subject: [PATCH] hostapd: mtk: Fix auto ht issue when switching to DFS channel
+Subject: [PATCH 19/35] hostapd: mtk: Fix auto ht issue when switching to DFS
+ channel
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch
index 5b14a77..7aea2dc 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0020-hostapd-mtk-Mark-DFS-channel-as-available-for-CSA.patch
@@ -1,7 +1,7 @@
-From c229d874452a61f58b65473d26b89c64b4693908 Mon Sep 17 00:00:00 2001
+From 34fb887dc4a6b88b0eaff76ede9fdd024893b2f9 Mon Sep 17 00:00:00 2001
 From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
 Date: Sat, 29 Apr 2023 06:57:36 +0800
-Subject: [PATCH 20/29] hostapd: mtk: Mark DFS channel as available for CSA.
+Subject: [PATCH 20/35] hostapd: mtk: Mark DFS channel as available for CSA.
 
 ---
  hostapd/ctrl_iface.c   | 10 ++++++++++
@@ -10,11 +10,11 @@
  3 files changed, 12 insertions(+), 1 deletion(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 06cbea1..7b59bb5 100644
+index c33b7a4..9ba6992 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -2705,6 +2705,16 @@ static int hostapd_ctrl_iface_chan_switch(struct hostapd_iface *iface,
- 		settings.freq_params.eht_enabled = iface->conf->ieee80211be;
+@@ -2704,6 +2704,16 @@ static int hostapd_ctrl_iface_chan_switch(struct hostapd_iface *iface,
+ 		settings.freq_params.he_enabled = iface->conf->ieee80211ax;
  	}
  
 +	if (settings.freq_params.radar_background) {
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch
index c9b8ea9..e6354bd 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0021-hostapd-mtk-add-11v_mbss-and-ema-support-for-hostapd.patch
@@ -1,7 +1,7 @@
-From bed7e913c79fcd0f2d7d686b7d1da0ec8bf4d23f Mon Sep 17 00:00:00 2001
+From 6bcb8ed50638aeecd32cc43287a49e3caecd4b3e Mon Sep 17 00:00:00 2001
 From: mtk20656 <chank.chen@mediatek.com>
 Date: Thu, 2 Mar 2023 10:51:43 +0800
-Subject: [PATCH 21/29] hostapd: mtk: add 11v_mbss and ema support for hostapd
+Subject: [PATCH 21/35] hostapd: mtk: add 11v_mbss and ema support for hostapd
 
 Signed-off-by: mtk20656 <chank.chen@mediatek.com>
 ---
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch
index 544ab11..1b23579 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0022-hostapd-mtk-Add-available-color-bitmap.patch
@@ -1,7 +1,7 @@
-From 93880afd007b74cb7b56f9711bb0ab07b9858ac1 Mon Sep 17 00:00:00 2001
+From 9b40b6ccf6fd2f4463b389df46d38610001df04e Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 Date: Thu, 26 Jan 2023 09:16:00 +0800
-Subject: [PATCH 22/29] hostapd: mtk: Add available color bitmap
+Subject: [PATCH 22/35] hostapd: mtk: Add available color bitmap
 
 Signed-off-by: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 ---
@@ -17,10 +17,10 @@
  9 files changed, 192 insertions(+), 1 deletion(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 7b59bb5..78179aa 100644
+index 9ba6992..e1e9270 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3646,6 +3646,76 @@ hostapd_ctrl_iface_get_amsdu(struct hostapd_data *hapd, char *buf,
+@@ -3645,6 +3645,76 @@ hostapd_ctrl_iface_get_amsdu(struct hostapd_data *hapd, char *buf,
  	return ret;
  }
  
@@ -97,7 +97,7 @@
  
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
-@@ -4213,6 +4283,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4212,6 +4282,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_set_offchan_ctrl(hapd, buf + 16, reply, reply_size);
  	} else if (os_strncmp(buf, "GET_AMSDU", 9) == 0) {
  		reply_len = hostapd_ctrl_iface_get_amsdu(hapd, reply, reply_size);
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch
index 5df63b2..6f8fa7f 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0023-hostapd-mtk-Add-channel-information-for-hostapd-relo.patch
@@ -1,7 +1,7 @@
-From a2d6ad8b3330feca1ea3f7fc8539a964145371a9 Mon Sep 17 00:00:00 2001
+From add7a84a8a3d33c120c47ff7662134cacbab858e Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 22 Mar 2023 13:59:29 +0800
-Subject: [PATCH 23/29] hostapd: mtk: Add channel information for hostapd
+Subject: [PATCH 23/35] hostapd: mtk: Add channel information for hostapd
  reload
 
 Add center channel, operating class, and bandwidth into the UPDATE
@@ -15,7 +15,7 @@
  2 files changed, 25 insertions(+), 3 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 78179aa..87448e7 100644
+index e1e9270..4c5d494 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
 @@ -170,6 +170,17 @@ static struct hostapd_config *hostapd_ctrl_iface_config_read(const char *fname)
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch
index 57e8b9b..fa0cda1 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0024-hostapd-mtk-Add-support-for-masking-EHT-capabilities.patch
@@ -1,7 +1,7 @@
-From 87dbbd2f6e02272e2ceee1e30dce60828bf0cc1c Mon Sep 17 00:00:00 2001
+From 66398037524443e229ab0ee666237d0bc3d20791 Mon Sep 17 00:00:00 2001
 From: Amit Khatri <amit.khatri@mediatek.com>
 Date: Thu, 23 Mar 2023 14:26:46 +0800
-Subject: [PATCH 24/29] hostapd: mtk: Add support for masking EHT capabilities.
+Subject: [PATCH 24/35] hostapd: mtk: Add support for masking EHT capabilities.
 
 If STA want to disable EHT mode connection.
 STA can set
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch
index 5eb131b..3d87b10 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch
@@ -1,7 +1,7 @@
-From 2d97fca26e0c3cd46d1c21cc18d6adc68be60f52 Mon Sep 17 00:00:00 2001
+From f723f9502240a9a7df4cc05eab5f5e9dc3b05c4a Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 20 Mar 2023 16:08:30 +0800
-Subject: [PATCH 25/29] hostapd: mtk: Fix ZWDFS issue in BW 160
+Subject: [PATCH 25/35] hostapd: mtk: Fix ZWDFS issue in BW 160
 
 When background radar is enabled and bandwidth is set to 160, AP will
 fail to startup due to the lack of non-DFS channel.
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
index 5872b47..f0e881f 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch
@@ -1,7 +1,7 @@
-From 4c6d148fea7cd1ea380a792d83d2dabe61e9c869 Mon Sep 17 00:00:00 2001
+From 30d8ea36c092540f7ba29f0b8bd7b6876c427ae0 Mon Sep 17 00:00:00 2001
 From: Evelyn Tsai <evelyn.tsai@mediatek.com>
 Date: Fri, 17 Mar 2023 16:17:14 +0800
-Subject: [PATCH 26/29] hostapd: mtk: Add vendor for CAPI certification
+Subject: [PATCH 26/35] hostapd: mtk: Add vendor for CAPI certification
  commands
 
 ---
@@ -16,7 +16,7 @@
  8 files changed, 332 insertions(+), 30 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 87448e7..b0323e7 100644
+index 4c5d494..f338d0f 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
 @@ -38,6 +38,7 @@
@@ -27,7 +27,7 @@
  #include "crypto/tls.h"
  #include "drivers/driver.h"
  #include "eapol_auth/eapol_auth_sm.h"
-@@ -3727,6 +3728,96 @@ hostapd_ctrl_iface_get_aval_color_bmp(struct hostapd_data *hapd, char *buf,
+@@ -3726,6 +3727,96 @@ hostapd_ctrl_iface_get_aval_color_bmp(struct hostapd_data *hapd, char *buf,
  	return pos - buf;
  }
  
@@ -124,7 +124,7 @@
  
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
-@@ -4298,6 +4389,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4297,6 +4388,10 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_get_bss_color(hapd, reply, reply_size);
  	} else if (os_strncmp(buf, "AVAL_COLOR_BMP", 14) == 0) {
  		reply_len = hostapd_ctrl_iface_get_aval_color_bmp(hapd, reply, reply_size);
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch
index eb17c61..1e36006 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch
@@ -1,7 +1,7 @@
-From 11fefdfadbc5bbdf0fcb4d890ea24906a286db43 Mon Sep 17 00:00:00 2001
+From 2e7059246e059c0ed4cb53906467d4f55df3b664 Mon Sep 17 00:00:00 2001
 From: mtk23888 <dipanshu.mittal@mediatek.com>
 Date: Tue, 4 Apr 2023 13:06:41 +0800
-Subject: [PATCH 27/29] hostapd: mtk: Air Monitor support in hostapd by vendor
+Subject: [PATCH 27/35] hostapd: mtk: Air Monitor support in hostapd by vendor
  NL
 
 Signed-off-by: mtk23888 <dipanshu.mittal@mediatek.com>
@@ -18,10 +18,10 @@
  9 files changed, 352 insertions(+)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index b0323e7..056583c 100644
+index f338d0f..7f91cb6 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3766,6 +3766,44 @@ hostapd_ctrl_iface_ap_wireless(struct hostapd_data *hapd, char *cmd,
+@@ -3765,6 +3765,44 @@ hostapd_ctrl_iface_ap_wireless(struct hostapd_data *hapd, char *cmd,
  
  	if (hostapd_drv_ap_wireless(hapd, (u8) sub_cmd, atoi(value)) != 0)
  		return -1;
@@ -66,7 +66,7 @@
  
  	return os_snprintf(buf, buflen, "OK\n");
  }
-@@ -3819,6 +3857,75 @@ exit:
+@@ -3818,6 +3856,75 @@ exit:
  	return os_snprintf(buf, buflen, "OK\n");
  }
  
@@ -142,7 +142,7 @@
  static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  					      char *buf, char *reply,
  					      int reply_size,
-@@ -4393,6 +4500,12 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
+@@ -4392,6 +4499,12 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
  		reply_len = hostapd_ctrl_iface_ap_wireless(hapd, buf + 12, reply, reply_size);
  	} else if (os_strncmp(buf, "ap_rfeatures ", 13) == 0) {
  		reply_len = hostapd_ctrl_iface_ap_rfeatures(hapd, buf + 13, reply, reply_size);
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch
similarity index 67%
copy from recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
copy to recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch
index e9e12e9..6abcc52 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch
@@ -1,8 +1,8 @@
-From 38507640ec424ff6c9c552b0f3c2d068a6192146 Mon Sep 17 00:00:00 2001
+From 203fe076218129d727229a0eb71b6f5fb4c6e8a9 Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Fri, 28 Apr 2023 10:22:58 +0800
-Subject: [PATCH] hostapd: mtk: avoid setting beacon after wpa_supplicant stop
- the AP
+Subject: [PATCH 28/35] hostapd: mtk: Avoid setting beacon after wpa_supplicant
+ stop the AP
 
 Add a new variable 'stopped_by_supplicant' to indicate the AP
 interface is currently stopped by co-locating STA interface.
@@ -10,19 +10,19 @@
 will reload the co-locating AP interfaces and marks the
 'stopped_by_supplicant' as 0.
 ---
- hostapd/ctrl_iface.c   | 4 ++++
- src/ap/beacon.c        | 5 ++++-
- src/ap/bss_load.c      | 3 ++-
- src/ap/ctrl_iface_ap.c | 4 +++-
- src/ap/hostapd.c       | 2 ++
- src/ap/hostapd.h       | 1 +
- 6 files changed, 16 insertions(+), 3 deletions(-)
+ hostapd/ctrl_iface.c   |  4 ++++
+ src/ap/beacon.c        |  5 ++++-
+ src/ap/bss_load.c      | 10 +++++++---
+ src/ap/ctrl_iface_ap.c |  4 +++-
+ src/ap/hostapd.c       |  4 +++-
+ src/ap/hostapd.h       |  1 +
+ 6 files changed, 22 insertions(+), 6 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 4c5d494..07c97b5 100644
+index 7f91cb6..8c48d8f 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -192,11 +192,15 @@ static int hostapd_ctrl_iface_update(struct hostapd_data *hapd, char *txt)
+@@ -193,11 +193,15 @@ static int hostapd_ctrl_iface_update(struct hostapd_data *hapd, char *txt)
  {
  	struct hostapd_config * (*config_read_cb)(const char *config_fname);
  	struct hostapd_iface *iface = hapd->iface;
@@ -39,7 +39,7 @@
  
  	iface->interfaces->config_read_cb = config_read_cb;
 diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index 51db23a..187e314 100644
+index ad56046..c67d08b 100644
 --- a/src/ap/beacon.c
 +++ b/src/ap/beacon.c
 @@ -2125,7 +2125,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
@@ -69,19 +69,40 @@
  			ret = -1;
  	}
 diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
-index 725d3cd..ae55521 100644
+index 725d3cd..78fd9d8 100644
 --- a/src/ap/bss_load.c
 +++ b/src/ap/bss_load.c
-@@ -46,7 +46,8 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 	int err;
- 	struct hostapd_iface *iface = hapd->iface;
- 
--	if (!(hapd->beacon_set_done && hapd->started))
-+	if (!(hapd->beacon_set_done && hapd->started &&
-+	      !hapd->stopped_by_supplicant))
+@@ -49,6 +49,9 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 	if (!(hapd->beacon_set_done && hapd->started))
  		return;
  
++	if(hapd->stopped_by_supplicant)
++		goto skip_update;
++
  	err = hostapd_drv_get_survey(hapd, hapd->iface->freq);
+ 	if (err) {
+ 		wpa_printf(MSG_ERROR, "BSS Load: Failed to get survey data");
+@@ -57,9 +60,6 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 
+ 	ieee802_11_set_beacon(hapd);
+ 
+-	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
+-		return;
+-
+ 	if (hapd->conf->chan_util_avg_period) {
+ 		iface->chan_util_samples_sum += iface->channel_utilization;
+ 		iface->chan_util_num_sample_periods +=
+@@ -75,6 +75,10 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ 		}
+ 	}
+ 
++skip_update:
++	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
++		return;
++
+ 	eloop_register_timeout(sec, usec, update_channel_utilization, hapd,
+ 			       NULL);
+ }
 diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
 index 2fae590..1ad37c5 100644
 --- a/src/ap/ctrl_iface_ap.c
@@ -99,7 +120,7 @@
  	return 0;
  }
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index ef0d6db..b2fd9b9 100644
+index ef0d6db..b372977 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -477,6 +477,7 @@ void hostapd_free_hapd_data(struct hostapd_data *hapd)
@@ -118,6 +139,15 @@
  
  	if (!first || first == -1) {
  		u8 *addr = hapd->own_addr;
+@@ -4015,7 +4017,7 @@ void hostapd_switch_color(struct hostapd_data *hapd, u64 bitmap)
+ {
+ 	struct os_reltime now;
+ 
+-	if (hapd->cca_in_progress)
++	if (hapd->cca_in_progress || hapd->stopped_by_supplicant)
+ 		return;
+ 
+ 	if (os_get_reltime(&now))
 diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
 index 093c28a..3b51050 100644
 --- a/src/ap/hostapd.h
@@ -131,5 +161,5 @@
  	u8 own_addr[ETH_ALEN];
  
 -- 
-2.25.1
+2.18.0
 
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch
deleted file mode 100644
index 05f6dc8..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 38a7f0f985e33f24f0da234966f560e7136868cf Mon Sep 17 00:00:00 2001
-From: Michael Lee <michael-cy.lee@mediatek.com>
-Date: Wed, 19 Apr 2023 17:18:33 +0800
-Subject: [PATCH 28/29] hostapd: mtk: Fix scan result updating issue
-
-There are no HT capability and operation in beacon of AP operating in
-NOHT.
-Therefore, when updating scan results, HT capability and operation
-should be assigned the default value for this kind of AP.
----
- wpa_supplicant/bss.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/wpa_supplicant/bss.c b/wpa_supplicant/bss.c
-index 01ddb13..4e711cf 100644
---- a/wpa_supplicant/bss.c
-+++ b/wpa_supplicant/bss.c
-@@ -306,8 +306,12 @@ static void wpa_bss_copy_res(struct wpa_bss *dst, struct wpa_scan_res *src,
- 	oper = (struct ieee80211_ht_operation *) elems.ht_operation;
- 	if (capab)
- 		dst->ht_capab = le_to_host16(capab->ht_capabilities_info);
-+	else
-+		dst->ht_capab = 0;
- 	if (oper)
- 		dst->ht_param = oper->ht_param;
-+	else
-+		dst->ht_param = 0;
- 
- 	calculate_update_time(fetch_time, src->age, &dst->last_update);
- }
--- 
-2.18.0
-
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
deleted file mode 100644
index e9e12e9..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 38507640ec424ff6c9c552b0f3c2d068a6192146 Mon Sep 17 00:00:00 2001
-From: Michael Lee <michael-cy.lee@mediatek.com>
-Date: Fri, 28 Apr 2023 10:22:58 +0800
-Subject: [PATCH] hostapd: mtk: avoid setting beacon after wpa_supplicant stop
- the AP
-
-Add a new variable 'stopped_by_supplicant' to indicate the AP
-interface is currently stopped by co-locating STA interface.
-After the STA interface finishes association with some other APs, it
-will reload the co-locating AP interfaces and marks the
-'stopped_by_supplicant' as 0.
----
- hostapd/ctrl_iface.c   | 4 ++++
- src/ap/beacon.c        | 5 ++++-
- src/ap/bss_load.c      | 3 ++-
- src/ap/ctrl_iface_ap.c | 4 +++-
- src/ap/hostapd.c       | 2 ++
- src/ap/hostapd.h       | 1 +
- 6 files changed, 16 insertions(+), 3 deletions(-)
-
-diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index 4c5d494..07c97b5 100644
---- a/hostapd/ctrl_iface.c
-+++ b/hostapd/ctrl_iface.c
-@@ -192,11 +192,15 @@ static int hostapd_ctrl_iface_update(struct hostapd_data *hapd, char *txt)
- {
- 	struct hostapd_config * (*config_read_cb)(const char *config_fname);
- 	struct hostapd_iface *iface = hapd->iface;
-+	size_t j;
- 
- 	config_read_cb = iface->interfaces->config_read_cb;
- 	iface->interfaces->config_read_cb = hostapd_ctrl_iface_config_read;
- 	reload_opts = txt;
- 
-+	for (j = 0; j < iface->num_bss; j++)
-+		iface->bss[j]->stopped_by_supplicant = 0;
-+
- 	hostapd_reload_config(iface, 0);
- 
- 	iface->interfaces->config_read_cb = config_read_cb;
-diff --git a/src/ap/beacon.c b/src/ap/beacon.c
-index 51db23a..187e314 100644
---- a/src/ap/beacon.c
-+++ b/src/ap/beacon.c
-@@ -2125,7 +2125,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
- 			continue;
- 
- 		for (i = 0; i < colocated->num_bss; i++) {
--			if (colocated->bss[i] && colocated->bss[i]->started)
-+			if (colocated->bss[i] && colocated->bss[i]->started &&
-+			    !colocated->bss[i]->stopped_by_supplicant)
- 				__ieee802_11_set_beacon(colocated->bss[i]);
- 		}
- 	}
-@@ -2141,6 +2142,7 @@ int ieee802_11_set_beacons(struct hostapd_iface *iface)
- 
- 	for (i = 0; i < iface->num_bss; i++) {
- 		if (iface->bss[i]->started &&
-+		    !iface->bss[i]->stopped_by_supplicant &&
- 		    ieee802_11_set_beacon(iface->bss[i]) < 0)
- 			ret = -1;
- 	}
-@@ -2157,6 +2159,7 @@ int ieee802_11_update_beacons(struct hostapd_iface *iface)
- 
- 	for (i = 0; i < iface->num_bss; i++) {
- 		if (iface->bss[i]->beacon_set_done && iface->bss[i]->started &&
-+		    !iface->bss[i]->stopped_by_supplicant &&
- 		    ieee802_11_set_beacon(iface->bss[i]) < 0)
- 			ret = -1;
- 	}
-diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
-index 725d3cd..ae55521 100644
---- a/src/ap/bss_load.c
-+++ b/src/ap/bss_load.c
-@@ -46,7 +46,8 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 	int err;
- 	struct hostapd_iface *iface = hapd->iface;
- 
--	if (!(hapd->beacon_set_done && hapd->started))
-+	if (!(hapd->beacon_set_done && hapd->started &&
-+	      !hapd->stopped_by_supplicant))
- 		return;
- 
- 	err = hostapd_drv_get_survey(hapd, hapd->iface->freq);
-diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
-index 2fae590..1ad37c5 100644
---- a/src/ap/ctrl_iface_ap.c
-+++ b/src/ap/ctrl_iface_ap.c
-@@ -951,8 +951,10 @@ int hostapd_ctrl_iface_stop_ap(struct hostapd_data *hapd)
- 	struct hostapd_iface *iface = hapd->iface;
- 	int i;
- 
--	for (i = 0; i < iface->num_bss; i++)
-+	for (i = 0; i < iface->num_bss; i++){
-+		iface->bss[i]->stopped_by_supplicant = 1;
- 		hostapd_drv_stop_ap(iface->bss[i]);
-+	}
- 
- 	return 0;
- }
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index ef0d6db..b2fd9b9 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -477,6 +477,7 @@ void hostapd_free_hapd_data(struct hostapd_data *hapd)
- 	}
- 	hapd->started = 0;
- 	hapd->beacon_set_done = 0;
-+	hapd->stopped_by_supplicant = 0;
- 
- 	wpa_printf(MSG_DEBUG, "%s(%s)", __func__, hapd->conf->iface);
- 	hostapd_ubus_free_bss(hapd);
-@@ -1257,6 +1258,7 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first,
- 		return -1;
- 	}
- 	hapd->started = 1;
-+	hapd->stopped_by_supplicant = 0;
- 
- 	if (!first || first == -1) {
- 		u8 *addr = hapd->own_addr;
-diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
-index 093c28a..3b51050 100644
---- a/src/ap/hostapd.h
-+++ b/src/ap/hostapd.h
-@@ -190,6 +190,7 @@ struct hostapd_data {
- 	unsigned int started:1;
- 	unsigned int disabled:1;
- 	unsigned int reenable_beacon:1;
-+	unsigned int stopped_by_supplicant:1;
- 
- 	u8 own_addr[ETH_ALEN];
- 
--- 
-2.25.1
-
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch
similarity index 87%
copy from recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch
copy to recipes-wifi/wpa-supplicant/files/patches/mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch
index 05f6dc8..c06f45e 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch
@@ -1,7 +1,7 @@
-From 38a7f0f985e33f24f0da234966f560e7136868cf Mon Sep 17 00:00:00 2001
+From a5f55beb2941f062a804f9185a0f13fda5d9196e Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 19 Apr 2023 17:18:33 +0800
-Subject: [PATCH 28/29] hostapd: mtk: Fix scan result updating issue
+Subject: [PATCH 29/35] hostapd: mtk: Fix scan result updating issue
 
 There are no HT capability and operation in beacon of AP operating in
 NOHT.
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
deleted file mode 100644
index c2ef3f7..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 1814fca214ecf2a876734af789906e2316172ba8 Mon Sep 17 00:00:00 2001
-From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
-Date: Thu, 30 Mar 2023 17:03:03 +0800
-Subject: [PATCH 29/29] hostapd: mtk: Fix setting wrong seg0 index for 5G
- center chan 159 BW40
-
-Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
----
- src/ap/ap_config.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index 51476b8..ae22a2f 100644
---- a/src/ap/ap_config.h
-+++ b/src/ap/ap_config.h
-@@ -1275,7 +1275,8 @@ hostapd_set_oper_centr_freq_seg0_idx(struct hostapd_config *conf,
- #ifdef CONFIG_IEEE80211BE
- 	if (conf->ieee80211be)
- 		conf->eht_oper_centr_freq_seg0_idx = oper_centr_freq_seg0_idx;
--	if (center_idx_to_bw_6ghz(oper_centr_freq_seg0_idx) == 4)
-+	if (is_6ghz_op_class(conf->op_class) &&
-+	    center_idx_to_bw_6ghz(oper_centr_freq_seg0_idx) == 4)
- 		oper_centr_freq_seg0_idx +=
- 			conf->channel > oper_centr_freq_seg0_idx ? 16 : -16;
- #endif /* CONFIG_IEEE80211BE */
--- 
-2.18.0
-
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch
deleted file mode 100644
index c405a4d..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-From 985f076026a2e4d7083272da975601be9b74d806 Mon Sep 17 00:00:00 2001
-From: MeiChia Chiu <meichia.chiu@mediatek.com>
-Date: Thu, 27 Apr 2023 15:28:43 +0800
-Subject: [PATCH] hostapd: mtk: Add muru user number debug command
-
----
- hostapd/ctrl_iface.c         | 11 ++++++++++-
- src/ap/ap_drv_ops.c          |  4 ++--
- src/ap/ap_drv_ops.h          |  2 +-
- src/ap/hostapd.c             |  4 ++--
- src/common/mtk_vendor.h      |  7 +++++++
- src/drivers/driver.h         |  4 ++--
- src/drivers/driver_nl80211.c | 37 ++++++++++++++++++++++++++++--------
- 7 files changed, 53 insertions(+), 16 deletions(-)
-
-diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index becb09c..3391015 100644
---- a/hostapd/ctrl_iface.c
-+++ b/hostapd/ctrl_iface.c
-@@ -3473,6 +3473,8 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
- 					 char *buf, size_t buflen)
- {
- 	char *pos, *config, *value;
-+	u8 mode;
-+
- 	config = cmd;
- 	pos = os_strchr(config, ' ');
- 	if (pos == NULL)
-@@ -3490,13 +3492,20 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
- 			return -1;
- 		}
- 		hapd->iconf->mu_onoff = (u8) mu;
-+		mode = MU_CTRL_ONOFF;
-+	} else if (os_strcmp(config, "ul_user_cnt") == 0) {
-+		mode = MU_CTRL_UL_USER_CNT;
-+		wpa_printf(MSG_ERROR, "ul_user_cnt:%d\n", (u8)atoi(value));
-+	} else if (os_strcmp(config, "dl_user_cnt") == 0) {
-+		mode = MU_CTRL_DL_USER_CNT;
-+		wpa_printf(MSG_ERROR, "dl_user_cnt:%d\n", (u8)atoi(value));
- 	} else {
- 		wpa_printf(MSG_ERROR,
- 			"Unsupported parameter %s for SET_MU", config);
- 		return -1;
- 	}
- 
--	if(hostapd_drv_mu_ctrl(hapd) == 0) {
-+	if(hostapd_drv_mu_ctrl(hapd, mode, (u8)atoi(value)) == 0) {
- 		return os_snprintf(buf, buflen, "OK\n");
- 	} else {
- 		return -1;
-diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
-index eafa588..bf64b77 100644
---- a/src/ap/ap_drv_ops.c
-+++ b/src/ap/ap_drv_ops.c
-@@ -1040,11 +1040,11 @@ int hostapd_drv_get_edcca(struct hostapd_data *hapd, const u8 mode, u8 *value)
- 	return hapd->driver->get_edcca(hapd->drv_priv, mode, value);
- }
- 
--int hostapd_drv_mu_ctrl(struct hostapd_data *hapd)
-+int hostapd_drv_mu_ctrl(struct hostapd_data *hapd, u8 mode, u8 val)
- {
- 	if (!hapd->driver || !hapd->driver->mu_ctrl)
- 		return 0;
--	return hapd->driver->mu_ctrl(hapd->drv_priv, hapd->iconf->mu_onoff);
-+	return hapd->driver->mu_ctrl(hapd->drv_priv, mode, val);
- }
- 
- int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff)
-diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
-index 28f2a4d..2a89b99 100644
---- a/src/ap/ap_drv_ops.h
-+++ b/src/ap/ap_drv_ops.h
-@@ -142,7 +142,7 @@ int hostapd_drv_configure_edcca_enable(struct hostapd_data *hapd);
- int hostapd_drv_configure_edcca_threshold(struct hostapd_data *hapd,
- 					  const int *threshold);
- int hostapd_drv_get_edcca(struct hostapd_data *hapd, const u8 mode, u8 *value);
--int hostapd_drv_mu_ctrl(struct hostapd_data *hapd);
-+int hostapd_drv_mu_ctrl(struct hostapd_data *hapd, u8 mode, u8 val);
- int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff);
- int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_ibf_ctrl(struct hostapd_data *hapd);
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index b2fd9b9..49a1d30 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -55,7 +55,7 @@
- #include "hs20.h"
- #include "airtime_policy.h"
- #include "wpa_auth_kay.h"
--
-+#include "common/mtk_vendor.h"
- 
- static int hostapd_flush_old_stations(struct hostapd_data *hapd, u16 reason);
- #ifdef CONFIG_WEP
-@@ -2360,7 +2360,7 @@ dfs_offload:
- 	if (hostapd_drv_configure_edcca_threshold(hapd,
- 						  hapd->iconf->edcca_threshold) < 0)
- 		goto fail;
--	if (hostapd_drv_mu_ctrl(hapd) < 0)
-+	if (hostapd_drv_mu_ctrl(hapd, MU_CTRL_ONOFF, hapd->iconf->mu_onoff) < 0)
- 		goto fail;
- 	if (hostapd_drv_three_wire_ctrl(hapd) < 0)
- 		goto fail;
-diff --git a/src/common/mtk_vendor.h b/src/common/mtk_vendor.h
-index 74f467c..7dd2fc4 100644
---- a/src/common/mtk_vendor.h
-+++ b/src/common/mtk_vendor.h
-@@ -197,6 +197,8 @@ enum mtk_vendor_attr_mu_ctrl {
- 
- 	MTK_VENDOR_ATTR_MU_CTRL_ONOFF,
- 	MTK_VENDOR_ATTR_MU_CTRL_DUMP,
-+	MTK_VENDOR_ATTR_MU_CTRL_OFDMA_MODE,
-+	MTK_VENDOR_ATTR_MU_CTRL_OFDMA_VAL,
- 
- 	/* keep last */
- 	NUM_MTK_VENDOR_ATTRS_MU_CTRL,
-@@ -270,4 +272,9 @@ struct amnt_resp_data {
- 	struct amnt_data resp_data[0];
- };
- 
-+enum {
-+	MU_CTRL_ONOFF,
-+	MU_CTRL_DL_USER_CNT,
-+	MU_CTRL_UL_USER_CNT,
-+};
- #endif /* MTK_VENDOR_H */
-diff --git a/src/drivers/driver.h b/src/drivers/driver.h
-index 1444cbe..01281a1 100644
---- a/src/drivers/driver.h
-+++ b/src/drivers/driver.h
-@@ -4742,11 +4742,11 @@ struct wpa_driver_ops {
- 	int (*get_edcca)(void *priv, const u8 mode, u8 *value);
- 
- 	/**
--	 * mu_ctrl - ctrl on off for UL/DL MURU
-+	 * mu_ctrl - ctrl for UL/DL MURU
- 	 * @priv: Private driver interface data
- 	 *
- 	 */
--	 int (*mu_ctrl)(void *priv, u8 mu_onoff);
-+	 int (*mu_ctrl)(void *priv, u8 mode, u8 val);
- 	 int (*mu_dump)(void *priv, u8 *mu_onoff);
- 
- 	/**
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 0470079..3d71405 100644
---- a/src/drivers/driver_nl80211.c
-+++ b/src/drivers/driver_nl80211.c
-@@ -12430,13 +12430,13 @@ fail:
- 
- 
- #ifdef CONFIG_IEEE80211AX
--static int nl80211_mu_onoff(void *priv, u8 mu_onoff)
-+static int nl80211_mu_ctrl(void *priv, u8 mode, u8 val)
- {
- 	struct i802_bss *bss = priv;
- 	struct wpa_driver_nl80211_data *drv = bss->drv;
- 	struct nl_msg *msg;
- 	struct nlattr *data;
--	int ret;
-+	int ret = -ENOBUFS;
- 
- 	if (!drv->mtk_mu_vendor_cmd_avail) {
- 		wpa_printf(MSG_INFO,
-@@ -12447,17 +12447,38 @@ static int nl80211_mu_onoff(void *priv, u8 mu_onoff)
- 	if (!(msg = nl80211_drv_msg(drv, 0, NL80211_CMD_VENDOR)) ||
- 		nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
- 		nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_MU_CTRL) ||
--		!(data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA)) ||
--		nla_put_u8(msg, MTK_VENDOR_ATTR_MU_CTRL_ONOFF, mu_onoff)) {
--		nlmsg_free(msg);
--		return -ENOBUFS;
-+		!(data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA)))
-+		goto fail;
-+
-+	switch (mode) {
-+	case MU_CTRL_ONOFF:
-+			if (nla_put_u8(msg, MTK_VENDOR_ATTR_MU_CTRL_ONOFF, val))
-+				goto fail;
-+		break;
-+	case MU_CTRL_UL_USER_CNT:
-+	case MU_CTRL_DL_USER_CNT:
-+			if (nla_put_u8(msg, MTK_VENDOR_ATTR_MU_CTRL_OFDMA_MODE, mode) ||
-+			    nla_put_u8(msg, MTK_VENDOR_ATTR_MU_CTRL_OFDMA_VAL, val))
-+				goto fail;
-+		break;
-+	default:
-+		wpa_printf(MSG_ERROR, "nl80211: Wrong mu mode !");
-+		ret = -EINVAL;
-+		goto fail;
- 	}
-+
- 	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 mu_onoff. ret=%d (%s)", ret, strerror(-ret));
-+		wpa_printf(MSG_ERROR, "Failed to set mu_ctrl. ret=%d (%s)", ret, strerror(-ret));
- 	}
- 	return ret;
-+
-+fail:
-+	nl80211_nlmsg_clear(msg);
-+	nlmsg_free(msg);
-+	return ret;
- }
- 
- 
-@@ -13512,7 +13533,7 @@ 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,
--	.mu_ctrl = nl80211_mu_onoff,
-+	.mu_ctrl = nl80211_mu_ctrl,
- 	.mu_dump = nl80211_mu_dump,
- #ifdef CONFIG_DPP
- 	.dpp_listen = nl80211_dpp_listen,
--- 
-2.39.0
-
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
similarity index 87%
copy from recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
copy to recipes-wifi/wpa-supplicant/files/patches/mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
index c2ef3f7..5cf0a25 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch
@@ -1,7 +1,7 @@
-From 1814fca214ecf2a876734af789906e2316172ba8 Mon Sep 17 00:00:00 2001
+From d35d35ed5575bb31d614a7dee8afd24bc2b1fcfa Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 30 Mar 2023 17:03:03 +0800
-Subject: [PATCH 29/29] hostapd: mtk: Fix setting wrong seg0 index for 5G
+Subject: [PATCH 30/35] hostapd: mtk: Fix setting wrong seg0 index for 5G
  center chan 159 BW40
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch
similarity index 95%
copy from recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch
copy to recipes-wifi/wpa-supplicant/files/patches/mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch
index c405a4d..0877ded 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch
@@ -1,7 +1,7 @@
-From 985f076026a2e4d7083272da975601be9b74d806 Mon Sep 17 00:00:00 2001
+From e947f264269a21994803aa324ef331bc696090c9 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 27 Apr 2023 15:28:43 +0800
-Subject: [PATCH] hostapd: mtk: Add muru user number debug command
+Subject: [PATCH 31/35] hostapd: mtk: Add muru user number debug command
 
 ---
  hostapd/ctrl_iface.c         | 11 ++++++++++-
@@ -14,10 +14,10 @@
  7 files changed, 53 insertions(+), 16 deletions(-)
 
 diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
-index becb09c..3391015 100644
+index 8c48d8f..bf5eeb7 100644
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -3473,6 +3473,8 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
+@@ -3472,6 +3472,8 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
  					 char *buf, size_t buflen)
  {
  	char *pos, *config, *value;
@@ -26,7 +26,7 @@
  	config = cmd;
  	pos = os_strchr(config, ' ');
  	if (pos == NULL)
-@@ -3490,13 +3492,20 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
+@@ -3489,13 +3491,20 @@ hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
  			return -1;
  		}
  		hapd->iconf->mu_onoff = (u8) mu;
@@ -80,7 +80,7 @@
  int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
  int hostapd_drv_ibf_ctrl(struct hostapd_data *hapd);
 diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index b2fd9b9..49a1d30 100644
+index b372977..b1a7196 100644
 --- a/src/ap/hostapd.c
 +++ b/src/ap/hostapd.c
 @@ -55,7 +55,7 @@
@@ -216,5 +216,5 @@
  #ifdef CONFIG_DPP
  	.dpp_listen = nl80211_dpp_listen,
 -- 
-2.39.0
+2.18.0
 
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch
deleted file mode 100644
index 35a0b4d..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 7bd78e612a73df62599a3826eafd49fbc4138d10 Mon Sep 17 00:00:00 2001
-From: Michael Lee <michael-cy.lee@mediatek.com>
-Date: Wed, 3 May 2023 14:55:18 +0800
-Subject: [PATCH] hostapd: mtk: Fix CCA issue
-
-When receiving CCA-related nl80211 commands, hostapd used to work on
-struct wpa_driver_nl80211_data, whose ctx always points to
-hostpad_iface->bss[0]. However, CCA commands are sent on a per-BSS based.
-This patch makes hostapd handle CCA-related commands on a per-BSS based.
-
-Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
----
- src/drivers/driver_nl80211_event.c | 24 ++++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c
-index ee922ac..585d207 100644
---- a/src/drivers/driver_nl80211_event.c
-+++ b/src/drivers/driver_nl80211_event.c
-@@ -2930,7 +2930,7 @@ static void nl80211_assoc_comeback(struct wpa_driver_nl80211_data *drv,
- 
- #ifdef CONFIG_IEEE80211AX
- 
--static void nl80211_obss_color_collision(struct wpa_driver_nl80211_data *drv,
-+static void nl80211_obss_color_collision(struct i802_bss *bss,
- 					 struct nlattr *tb[])
- {
- 	union wpa_event_data data;
-@@ -2944,37 +2944,37 @@ static void nl80211_obss_color_collision(struct wpa_driver_nl80211_data *drv,
- 
- 	wpa_printf(MSG_DEBUG, "nl80211: BSS color collision - bitmap %08lx",
- 		   data.bss_color_collision.bitmap);
--	wpa_supplicant_event(drv->ctx, EVENT_BSS_COLOR_COLLISION, &data);
-+	wpa_supplicant_event(bss->ctx, EVENT_BSS_COLOR_COLLISION, &data);
- }
- 
- 
- static void
--nl80211_color_change_announcement_started(struct wpa_driver_nl80211_data *drv)
-+nl80211_color_change_announcement_started(struct i802_bss *bss)
- {
- 	union wpa_event_data data = {};
- 
- 	wpa_printf(MSG_DEBUG, "nl80211: CCA started");
--	wpa_supplicant_event(drv->ctx, EVENT_CCA_STARTED_NOTIFY, &data);
-+	wpa_supplicant_event(bss->ctx, EVENT_CCA_STARTED_NOTIFY, &data);
- }
- 
- 
- static void
--nl80211_color_change_announcement_aborted(struct wpa_driver_nl80211_data *drv)
-+nl80211_color_change_announcement_aborted(struct i802_bss *bss)
- {
- 	union wpa_event_data data = {};
- 
- 	wpa_printf(MSG_DEBUG, "nl80211: CCA aborted");
--	wpa_supplicant_event(drv->ctx, EVENT_CCA_ABORTED_NOTIFY, &data);
-+	wpa_supplicant_event(bss->ctx, EVENT_CCA_ABORTED_NOTIFY, &data);
- }
- 
- 
- static void
--nl80211_color_change_announcement_completed(struct wpa_driver_nl80211_data *drv)
-+nl80211_color_change_announcement_completed(struct i802_bss *bss)
- {
- 	union wpa_event_data data = {};
- 
- 	wpa_printf(MSG_DEBUG, "nl80211: CCA completed");
--	wpa_supplicant_event(drv->ctx, EVENT_CCA_NOTIFY, &data);
-+	wpa_supplicant_event(bss->ctx, EVENT_CCA_NOTIFY, &data);
- }
- 
- #endif /* CONFIG_IEEE80211AX */
-@@ -3230,16 +3230,16 @@ static void do_process_drv_event(struct i802_bss *bss, int cmd,
- 		break;
- #ifdef CONFIG_IEEE80211AX
- 	case NL80211_CMD_OBSS_COLOR_COLLISION:
--		nl80211_obss_color_collision(drv, tb);
-+		nl80211_obss_color_collision(bss, tb);
- 		break;
- 	case NL80211_CMD_COLOR_CHANGE_STARTED:
--		nl80211_color_change_announcement_started(drv);
-+		nl80211_color_change_announcement_started(bss);
- 		break;
- 	case NL80211_CMD_COLOR_CHANGE_ABORTED:
--		nl80211_color_change_announcement_aborted(drv);
-+		nl80211_color_change_announcement_aborted(bss);
- 		break;
- 	case NL80211_CMD_COLOR_CHANGE_COMPLETED:
--		nl80211_color_change_announcement_completed(drv);
-+		nl80211_color_change_announcement_completed(bss);
- 		break;
- #endif /* CONFIG_IEEE80211AX */
- 	default:
--- 
-2.25.1
-
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0032-hostapd-mtk-Fix-CCA-issue.patch
similarity index 96%
copy from recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch
copy to recipes-wifi/wpa-supplicant/files/patches/mtk-0032-hostapd-mtk-Fix-CCA-issue.patch
index 35a0b4d..35d4eeb 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0031-hostapd-mtk-Fix-CCA-issue.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0032-hostapd-mtk-Fix-CCA-issue.patch
@@ -1,7 +1,7 @@
-From 7bd78e612a73df62599a3826eafd49fbc4138d10 Mon Sep 17 00:00:00 2001
+From f649b398a58e34fa2d299c454bf253bcceb9f1e9 Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 3 May 2023 14:55:18 +0800
-Subject: [PATCH] hostapd: mtk: Fix CCA issue
+Subject: [PATCH 32/35] hostapd: mtk: Fix CCA issue
 
 When receiving CCA-related nl80211 commands, hostapd used to work on
 struct wpa_driver_nl80211_data, whose ctx always points to
@@ -93,5 +93,5 @@
  #endif /* CONFIG_IEEE80211AX */
  	default:
 -- 
-2.25.1
+2.18.0
 
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
deleted file mode 100644
index d3c7b26..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From f5e235b80b57583caf590c3745022327493675a6 Mon Sep 17 00:00:00 2001
-From: Michael Lee <michael-cy.lee@mediatek.com>
-Date: Wed, 3 May 2023 16:10:57 +0800
-Subject: [PATCH] hostapd: mtk: Fix unexpected AP beacon state transition
-
-When AP fails to set the beacon, it assigns bss->beacon_set to 0 no
-matter what the error number is.
-However, in the case that the error number is -EBUSY, the driver might
-not free the beacon and expect a later beacon re-setting. If hostapd set
-a new beacon under this case, the driver will return -EALREADY.
-This patch checks the error number after hostapd fails to set the
-beacon. If the error number is -EBUSY, bss->beacon_set will not be
-assigned to 0.
-
-Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
----
- src/drivers/driver_nl80211.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 945ce3e..89c7d20 100644
---- a/src/drivers/driver_nl80211.c
-+++ b/src/drivers/driver_nl80211.c
-@@ -4912,7 +4912,8 @@ static int wpa_driver_nl80211_set_ap(void *priv,
- 			   ret, strerror(-ret));
- 		if (!bss->beacon_set)
- 			ret = 0;
--		bss->beacon_set = 0;
-+		if (ret != -EBUSY)
-+			bss->beacon_set = 0;
- 	} else {
- 		bss->beacon_set = 1;
- 		nl80211_set_bss(bss, params->cts_protect, params->preamble,
--- 
-2.25.1
-
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
similarity index 81%
copy from recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
copy to recipes-wifi/wpa-supplicant/files/patches/mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
index d3c7b26..060cd1d 100644
--- a/recipes-wifi/hostapd/files/patches/mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch
@@ -1,7 +1,7 @@
-From f5e235b80b57583caf590c3745022327493675a6 Mon Sep 17 00:00:00 2001
+From 5ae87796b8e9d6836693ec0c70a5eba063b606b9 Mon Sep 17 00:00:00 2001
 From: Michael Lee <michael-cy.lee@mediatek.com>
 Date: Wed, 3 May 2023 16:10:57 +0800
-Subject: [PATCH] hostapd: mtk: Fix unexpected AP beacon state transition
+Subject: [PATCH 33/35] hostapd: mtk: Fix unexpected AP beacon state transition
 
 When AP fails to set the beacon, it assigns bss->beacon_set to 0 no
 matter what the error number is.
@@ -18,10 +18,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 945ce3e..89c7d20 100644
+index 3d71405..e744a18 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -4912,7 +4912,8 @@ static int wpa_driver_nl80211_set_ap(void *priv,
+@@ -4976,7 +4976,8 @@ static int wpa_driver_nl80211_set_ap(void *priv,
  			   ret, strerror(-ret));
  		if (!bss->beacon_set)
  			ret = 0;
@@ -32,5 +32,5 @@
  		bss->beacon_set = 1;
  		nl80211_set_bss(bss, params->cts_protect, params->preamble,
 -- 
-2.25.1
+2.18.0
 
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch
deleted file mode 100644
index c4172bb..0000000
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 627b60aab19db40260366fae5c711adb2b09554e Mon Sep 17 00:00:00 2001
-From: Michael Lee <michael-cy.lee@mediatek.com>
-Date: Wed, 28 Jun 2023 11:08:12 +0800
-Subject: [PATCH] hostapd: mtk: register update_channel_utilization again
-
-The update_channel_utilization might be called when the bss is currently
-stopped by wpa_supplicant.
-In the original flow, the update_channel_utilization returns without
-register itself again, and channel utilization will not be updated for
-this bss anymore.
-This patch re-registers the update_channel_utilization again when the
-bss is stopped by wpa_supplicant.
-
-Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
----
- src/ap/bss_load.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
-index ae55521..f2a1a10 100644
---- a/src/ap/bss_load.c
-+++ b/src/ap/bss_load.c
-@@ -46,10 +46,12 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 	int err;
- 	struct hostapd_iface *iface = hapd->iface;
- 
--	if (!(hapd->beacon_set_done && hapd->started &&
--	      !hapd->stopped_by_supplicant))
-+	if (!(hapd->beacon_set_done && hapd->started))
- 		return;
- 
-+	if(!hapd->stopped_by_supplicant)
-+		goto skip_update;
-+
- 	err = hostapd_drv_get_survey(hapd, hapd->iface->freq);
- 	if (err) {
- 		wpa_printf(MSG_ERROR, "BSS Load: Failed to get survey data");
-@@ -58,9 +60,6 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 
- 	ieee802_11_set_beacon(hapd);
- 
--	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
--		return;
--
- 	if (hapd->conf->chan_util_avg_period) {
- 		iface->chan_util_samples_sum += iface->channel_utilization;
- 		iface->chan_util_num_sample_periods +=
-@@ -76,6 +75,10 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
- 		}
- 	}
- 
-+skip_update:
-+	if (get_bss_load_update_timeout(hapd, &sec, &usec) < 0)
-+		return;
-+
- 	eloop_register_timeout(sec, usec, update_channel_utilization, hapd,
- 			       NULL);
- }
--- 
-2.25.1
-
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch
index 96522dd..2a44a8f 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch
@@ -1,7 +1,7 @@
-From fba1094daa7efaea9e2e3e9342b6eb6bd00ca174 Mon Sep 17 00:00:00 2001
+From 3f674a6f2414a7c3e2e06ea561c04137355603a3 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 5 Jul 2023 10:47:20 +0800
-Subject: [PATCH 34/34] hostapd: mtk: Fix hostapd_dfs_start_cac log
+Subject: [PATCH 34/35] hostapd: mtk: Fix hostapd_dfs_start_cac log
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -9,10 +9,10 @@
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/src/ap/dfs.c b/src/ap/dfs.c
-index 6506d7a..c255978 100644
+index d688ecb..db8375e 100644
 --- a/src/ap/dfs.c
 +++ b/src/ap/dfs.c
-@@ -1655,9 +1655,11 @@ int hostapd_dfs_start_cac(struct hostapd_iface *iface, int freq,
+@@ -1627,9 +1627,11 @@ int hostapd_dfs_start_cac(struct hostapd_iface *iface, int freq,
  	/* TODO: How to check CAC time for ETSI weather channels? */
  	iface->dfs_cac_ms = 60000;
  	wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_CAC_START
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch
new file mode 100644
index 0000000..160d146
--- /dev/null
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch
@@ -0,0 +1,51 @@
+From fb967d41b610096ef179b45cf85123de39c5665e Mon Sep 17 00:00:00 2001
+From: mtk20656 <chank.chen@mediatek.com>
+Date: Mon, 24 Jul 2023 11:30:27 +0800
+Subject: [PATCH 35/35] hostapd: mtk: add extension IE list for non-inherit IE
+ in mbssid
+
+Certain clients do not scan all non tx profiles due to absence of
+element ID extension list which is mandatory field in non inheritance
+IE. Non inheritance Element ID is followed by extension element ID.
+Length is expected to be mentioned. Currently we do not support any
+extension element and hence filling length as 0.
+
+Signed-off-by: mtk20656 <chank.chen@mediatek.com>
+---
+ src/ap/ieee802_11.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+index 30bfa30..f866b8a 100644
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -7657,7 +7657,7 @@ static size_t hostapd_eid_mbssid_elem_len(struct hostapd_data *hapd,
+ 		else if (hapd->conf->xrates_supported)
+ 			ie_count++;
+ 		if (ie_count)
+-			nontx_profile_len += (4 + ie_count);
++			nontx_profile_len += (5 + ie_count);
+ 
+ 		if ((len + nontx_profile_len) > 255)
+ 			goto mbssid_too_big;
+@@ -7792,11 +7792,16 @@ static u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8 *end,
+ 		}
+ 		if (ie_count) {
+ 			*eid++ = WLAN_EID_EXTENSION;
+-			*eid++ = 2 + ie_count;
++			*eid++ = 3 + ie_count;
+ 			*eid++ = WLAN_EID_EXT_NON_INHERITANCE;
+ 			*eid++ = ie_count;
+ 			os_memcpy(eid, non_inherit_ie, ie_count);
+ 			eid += ie_count;
++			/* Element ID extension list is mandatory part of non inheritance IE.
++			 * It has a length field followed by extension IEs. Currently no
++			 * extension IEs are supported so filling length as 0.
++			 */
++			*eid++ = 0;
+ 		}
+ 
+ 		*eid_len_pos = (eid - eid_len_pos) - 1;
+-- 
+2.18.0
+
diff --git a/recipes-wifi/wpa-supplicant/files/patches/mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch b/recipes-wifi/wpa-supplicant/files/patches/mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch
new file mode 100644
index 0000000..fedc16d
--- /dev/null
+++ b/recipes-wifi/wpa-supplicant/files/patches/mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch
@@ -0,0 +1,32 @@
+From 401ff1eae9089808df328dd588d1ee01886abaa9 Mon Sep 17 00:00:00 2001
+From: Michael Lee <michael-cy.lee@mediatek.com>
+Date: Fri, 7 Jul 2023 17:14:40 +0800
+Subject: [PATCH] hostapd: mtk: Fix wpa_supplicant configuration parsing error
+
+In the original flow, after hostapd_config_tx_queue successfully
+parses a tx_queue variable, it would not return immediately. Then it
+would print out "unknow global field" later and set return val to -1.
+
+This patch returns immediately after hostapd_config_tx_queue
+successfully parses a tx_queue variable.
+
+Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
+---
+ wpa_supplicant/config.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
+index 994ee5e..0186011 100644
+--- a/wpa_supplicant/config.c
++++ b/wpa_supplicant/config.c
+@@ -5575,6 +5575,7 @@ int wpa_config_process_global(struct wpa_config *config, char *pos, int line)
+ 					   line);
+ 				return -1;
+ 			}
++			return ret;
+ 		}
+ 
+ 		if (os_strncmp(pos, "wmm_ac_", 7) == 0) {
+-- 
+2.25.1
+
diff --git a/recipes-wifi/wpa-supplicant/files/patches/patches.inc b/recipes-wifi/wpa-supplicant/files/patches/patches.inc
index cd5f8de..6078a05 100644
--- a/recipes-wifi/wpa-supplicant/files/patches/patches.inc
+++ b/recipes-wifi/wpa-supplicant/files/patches/patches.inc
@@ -89,12 +89,13 @@
     file://mtk-0025-hostapd-mtk-Fix-ZWDFS-issue-in-BW-160.patch \
     file://mtk-0026-hostapd-mtk-Add-vendor-for-CAPI-certification-comman.patch \
     file://mtk-0027-hostapd-mtk-Air-Monitor-support-in-hostapd-by-vendor.patch \
-    file://mtk-0028-hostapd-mtk-Fix-scan-result-updating-issue.patch \
-    file://mtk-0028-hostapd-mtk-avoid-setting-beacon-after-wpa_supplican.patch \
-    file://mtk-0029-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch \
-    file://mtk-0030-hostapd-mtk-Add-muru-user-number-debug-command.patch \
-    file://mtk-0031-hostapd-mtk-Fix-CCA-issue.patch \
-    file://mtk-0032-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch \
-    file://mtk-0033-hostapd-mtk-register-update_channel_utilization-agai.patch \
+    file://mtk-0028-hostapd-mtk-Avoid-setting-beacon-after-wpa_supplican.patch \
+    file://mtk-0029-hostapd-mtk-Fix-scan-result-updating-issue.patch \
+    file://mtk-0030-hostapd-mtk-Fix-setting-wrong-seg0-index-for-5G-cent.patch \
+    file://mtk-0031-hostapd-mtk-Add-muru-user-number-debug-command.patch \
+    file://mtk-0032-hostapd-mtk-Fix-CCA-issue.patch \
+    file://mtk-0033-hostapd-mtk-Fix-unexpected-AP-beacon-state-transitio.patch \
     file://mtk-0034-hostapd-mtk-Fix-hostapd_dfs_start_cac-log.patch \
+    file://mtk-0035-hostapd-mtk-add-extension-IE-list-for-non-inherit-IE.patch \
+    file://mtk-0036-hostapd-mtk-Fix-wpa_supplicant-configuration-parsing.patch \
     "