diff --git a/recipes-wifi/iwinfo/iwinfo_git.bb b/recipes-wifi/iwinfo/iwinfo_git.bb
index 15ef360..f7c380a 100644
--- a/recipes-wifi/iwinfo/iwinfo_git.bb
+++ b/recipes-wifi/iwinfo/iwinfo_git.bb
@@ -8,7 +8,7 @@
 SECTION = "base"
 DEPENDS += "uci lua ubus libnl-tiny"
 
-SRCREV = "215820132b943b700d56441ecbd5a4efa09edc7c"
+SRCREV = "714e419919d00dd1b3cdce08d9f28a28b2de69ed"
 
 SRC_URI = "git://git.openwrt.org/project/iwinfo.git;branch=master \
            file://0002-fix-order-of-linker-cmdline-to-help-linking.patch \
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0033-mac80211-mtk-set-IEEE80211_TX_CTL_USE_MINRATE-when-p.patch b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0033-mac80211-mtk-set-IEEE80211_TX_CTL_USE_MINRATE-when-p.patch
new file mode 100644
index 0000000..c597c75
--- /dev/null
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/mtk-0033-mac80211-mtk-set-IEEE80211_TX_CTL_USE_MINRATE-when-p.patch
@@ -0,0 +1,34 @@
+From 9c1bd48929ad7c6b55d4486e7c519c778f9900d6 Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Mon, 14 Oct 2024 15:27:28 +0800
+Subject: [PATCH] mac80211: mtk: set IEEE80211_TX_CTL_USE_MINRATE when probing
+ station
+
+The TxS may not be reported to driver correctly when we set BA_DISALBE = 0.
+
+When mac80211 set IEEE80211_TX_CTL_USE_MINRATE, mt76 would use fixed rate
+and set BA_DISABLE = 1 to transmit the packet. So mt76 can receive TxS
+correctly.
+
+Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
+---
+ net/mac80211/cfg.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
+index 80fba54..4818dca 100644
+--- a/net/mac80211/cfg.c
++++ b/net/mac80211/cfg.c
+@@ -3957,7 +3957,8 @@ static int ieee80211_probe_client(struct wiphy *wiphy, struct net_device *dev,
+ 	info = IEEE80211_SKB_CB(skb);
+ 
+ 	info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS |
+-		       IEEE80211_TX_INTFL_NL80211_FRAME_TX;
++		       IEEE80211_TX_INTFL_NL80211_FRAME_TX |
++		       IEEE80211_TX_CTL_USE_MINRATE;
+ 	info->band = band;
+ 
+ 	skb_set_queue_mapping(skb, IEEE80211_AC_VO);
+-- 
+2.45.2
+
diff --git a/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc b/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
index 71e0e62..b79ceff 100644
--- a/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
+++ b/recipes-wifi/linux-mac80211/files/patches/subsys/subsys.inc
@@ -90,6 +90,7 @@
     file://mtk-0030-mac80211-mtk-fix-incorrect-VIF-assignment-for-IEEE-8.patch \
     file://mtk-0031-mac80211-mtk-add-callback-function-to-set-QoS-map-in.patch \
     file://mtk-0032-mac80211-mtk-fix-inconsistent-QoS-mapping-between-AP.patch \
+    file://mtk-0033-mac80211-mtk-set-IEEE80211_TX_CTL_USE_MINRATE-when-p.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 \
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0000-mtk-Revert-wifi-mac80211-don-t-use-rate-mask-for-offchan.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0000-mtk-Revert-wifi-mac80211-don-t-use-rate-mask-for-offchan.patch
new file mode 100644
index 0000000..459c21a
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0000-mtk-Revert-wifi-mac80211-don-t-use-rate-mask-for-offchan.patch
@@ -0,0 +1,26 @@
+From 9a0fcab618d234dfbe0e88aca8b2029bf968083b Mon Sep 17 00:00:00 2001
+From: Evelyn Tsai <evelyn.tsai@mediatek.com>
+Date: Sat, 12 Oct 2024 03:57:58 +0800
+Subject: [PATCH] Revert 'wifi: mac80211: don't use rate mask for offchannel TX
+ either'
+
+---
+ tx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tx.c b/tx.c
+index a6b8c8f..d002cf6 100644
+--- a/tx.c
++++ b/tx.c
+@@ -357,7 +357,7 @@ mt76_tx(struct mt76_phy *phy, struct ieee80211_sta *sta,
+ 	info->hw_queue |= FIELD_PREP(MT_TX_HW_QUEUE_PHY, phy->band_idx);
+ 
+ 	if ((info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) ||
+-	    (info->control.flags & IEEE80211_TX_CTRL_DONT_USE_RATE_MASK))
++	    (info->control.flags & IEEE80211_TX_CTRL_SCAN_TX))
+ 		head = &wcid->tx_offchannel;
+ 	else {
+ 		if (!wcid->tx_pending.prev || !wcid->tx_pending.next) {
+-- 
+2.45.2
+
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0001-mtk-Revert-wifi-mt76-mt7996-fill-txd-by-host-driver.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0001-mtk-Revert-wifi-mt76-mt7996-fill-txd-by-host-driver.patch
index 288c032..e913b7d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0001-mtk-Revert-wifi-mt76-mt7996-fill-txd-by-host-driver.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0001-mtk-Revert-wifi-mt76-mt7996-fill-txd-by-host-driver.patch
@@ -1,7 +1,7 @@
-From 943c075154f8b6569f9c0fc2ecc39742ba652bce Mon Sep 17 00:00:00 2001
+From c3a050d2155dd5945d3d790256a82fb9a0b1bda5 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Tue, 19 Sep 2023 11:21:23 +0800
-Subject: [PATCH 001/223] mtk: Revert "wifi: mt76: mt7996: fill txd by host
+Subject: [PATCH 001/193] mtk: Revert "wifi: mt76: mt7996: fill txd by host
  driver"
 
 This reverts commit 325a0c4931990d553487024c4f76c776492bdcc2.
@@ -10,7 +10,7 @@
  1 file changed, 9 insertions(+), 4 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 4706ddef..29297c07 100644
+index 4706dde..29297c0 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -958,8 +958,11 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0002-mtk-mt76-mt7996-fix-amsdu-information.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0002-mtk-mt76-mt7996-fix-amsdu-information.patch
index 238dab3..ce01ced 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0002-mtk-mt76-mt7996-fix-amsdu-information.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0002-mtk-mt76-mt7996-fix-amsdu-information.patch
@@ -1,7 +1,7 @@
-From afaacba412a34baf39e58b27003d4d09516a15c2 Mon Sep 17 00:00:00 2001
+From 36d2f10c4ccbcab5c4de2c52961a13c70bcd0ad1 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Fri, 17 May 2024 15:28:06 +0800
-Subject: [PATCH 002/223] mtk: mt76: mt7996: fix amsdu information
+Subject: [PATCH 002/193] mtk: mt76: mt7996: fix amsdu information
 
 The amsdu information is common information for all bands so maintain
 it by main phy instead of calculating by each phy.
@@ -17,7 +17,7 @@
  3 files changed, 11 insertions(+), 20 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 19c4f11c..063c45d2 100644
+index 19c4f11..063c45d 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -931,6 +931,7 @@ struct mt76_dev {
@@ -38,7 +38,7 @@
  
  	/* mcu_muru_stats */
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 62c03d08..a17c99a2 100644
+index 62c03d0..a17c99a 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -530,7 +530,6 @@ mt7996_tx_stats_show(struct seq_file *file, void *data)
@@ -69,7 +69,7 @@
  
  	return 0;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 29297c07..cfcfc3ea 100644
+index 29297c0..cfcfc3e 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2114,10 +2114,19 @@ void mt7996_mac_update_stats(struct mt7996_phy *phy)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0003-mtk-mt76-mt7996-add-preamble-puncture-support-for-mt.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0003-mtk-mt76-mt7996-add-preamble-puncture-support-for-mt.patch
index d87a708..0bf6adc 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0003-mtk-mt76-mt7996-add-preamble-puncture-support-for-mt.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0003-mtk-mt76-mt7996-add-preamble-puncture-support-for-mt.patch
@@ -1,7 +1,7 @@
-From d03a551a2fc9723b1b26c254bdc64694f271068f Mon Sep 17 00:00:00 2001
+From 0c988ca317063ce416a8d0d613a64a755262bb3f Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Thu, 18 Apr 2024 11:16:24 +0800
-Subject: [PATCH 003/223] mtk: mt76: mt7996: add preamble puncture support for
+Subject: [PATCH 003/193] mtk: mt76: mt7996: add preamble puncture support for
  mt7996
 
 Add support configure preamble puncture feature through mcu commands.
@@ -19,7 +19,7 @@
  6 files changed, 61 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 1b0e80df..200eace5 100644
+index 1b0e80d..200eace 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1288,6 +1288,7 @@ enum {
@@ -31,10 +31,10 @@
  	MCU_UNI_CMD_RRO = 0x57,
  	MCU_UNI_CMD_OFFCH_SCAN_CTRL = 0x58,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index f6a010b6..f3744be6 100644
+index 2d36c73..5c57fbf 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -389,6 +389,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -386,6 +386,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER);
@@ -43,7 +43,7 @@
  	if (mt7996_has_background_radar(phy->dev) &&
  	    (!mdev->dev->of_node ||
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 343e6c4b..334cc8c5 100644
+index a9903cb..ac9a074 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -394,6 +394,11 @@ static int mt7996_config(struct ieee80211_hw *hw, u32 changed)
@@ -59,7 +59,7 @@
  		if (ret)
  			return ret;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 5ac35af1..40915d1d 100644
+index d3346d5..1fed8eb 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -4573,3 +4573,43 @@ int mt7996_mcu_cp_support(struct mt7996_dev *dev, u8 mode)
@@ -107,7 +107,7 @@
 +				 &req, sizeof(req), false);
 +}
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 43468bca..df42c0f8 100644
+index 43468bc..df42c0f 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -923,6 +923,16 @@ enum {
@@ -128,7 +128,7 @@
  #define MT7996_PATCH_SCRAMBLE_KEY	GENMASK(15, 8)
  #define MT7996_PATCH_AES_KEY		GENMASK(7, 0)
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ad10329d..17dfbdc8 100644
+index ad10329..17dfbdc 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -270,6 +270,9 @@ struct mt7996_phy {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0004-mtk-mt76-mt7996-add-driver-support-for-wpa3-ocv-and-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0004-mtk-mt76-mt7996-add-driver-support-for-wpa3-ocv-and-.patch
index 75bae50..5d501f7 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0004-mtk-mt76-mt7996-add-driver-support-for-wpa3-ocv-and-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0004-mtk-mt76-mt7996-add-driver-support-for-wpa3-ocv-and-.patch
@@ -1,7 +1,7 @@
-From 7952f4e661b7aff18120e0ad39a28e0a73e7ea31 Mon Sep 17 00:00:00 2001
+From d83dec64996815a753f2913efbf8c43383a687ab Mon Sep 17 00:00:00 2001
 From: mtk23510 <rudra.shahi@mediatek.com>
 Date: Fri, 24 Mar 2023 19:18:53 +0800
-Subject: [PATCH 004/223] mtk: mt76: mt7996: add driver support for wpa3 ocv
+Subject: [PATCH 004/193] mtk: mt76: mt7996: add driver support for wpa3 ocv
  and bp mt76
 
 Signed-off-by: mtk23510 <rudra.shahi@mediatek.com>
@@ -10,10 +10,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index f3744be6..9bf38083 100644
+index 5c57fbf..6fff95a 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -391,6 +391,8 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -388,6 +388,8 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_PUNCT);
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0005-mtk-mt76-mt7996-enable-ser-query.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0005-mtk-mt76-mt7996-enable-ser-query.patch
index 39445e5..12c2a66 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0005-mtk-mt76-mt7996-enable-ser-query.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0005-mtk-mt76-mt7996-enable-ser-query.patch
@@ -1,7 +1,7 @@
-From c82a6b8993fa1785998459d79e9ba213e41fc4f7 Mon Sep 17 00:00:00 2001
+From 889874fb036ae950793b5738326ac08bfe215e7c Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 30 Oct 2023 20:19:41 +0800
-Subject: [PATCH 005/223] mtk: mt76: mt7996: enable ser query
+Subject: [PATCH 005/193] mtk: mt76: mt7996: enable ser query
 
 Do not return -EINVAL when action is UNI_CMD_SER_QUERY for user
 to dump SER information from FW.
@@ -12,7 +12,7 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 40915d1d..a384d44a 100644
+index 1fed8eb..b765295 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3888,6 +3888,8 @@ int mt7996_mcu_set_ser(struct mt7996_dev *dev, u8 action, u8 val, u8 band)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0006-mtk-mt76-mt7996-Fix-TGax-HE-4.51.1_24G-fail.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0006-mtk-mt76-mt7996-Fix-TGax-HE-4.51.1_24G-fail.patch
index 5e522ef..42e6778 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0006-mtk-mt76-mt7996-Fix-TGax-HE-4.51.1_24G-fail.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0006-mtk-mt76-mt7996-Fix-TGax-HE-4.51.1_24G-fail.patch
@@ -1,7 +1,7 @@
-From 9fbf0e20ece646083ad41f9a59aef3e1f295d00d Mon Sep 17 00:00:00 2001
+From 721672ec8319e443eb5a05888e3bd6f4bb794e13 Mon Sep 17 00:00:00 2001
 From: mtk27745 <rex.lu@mediatek.com>
 Date: Fri, 17 Nov 2023 11:01:04 +0800
-Subject: [PATCH 006/223] mtk: mt76: mt7996: Fix TGax HE-4.51.1_24G fail
+Subject: [PATCH 006/193] mtk: mt76: mt7996: Fix TGax HE-4.51.1_24G fail
 
 According to sta capability to decide to enable/disable wed pao when create ppe entry.
 without this patch, TGax HE-4.51.1_24G will test fail
@@ -13,10 +13,10 @@
  1 file changed, 6 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 334cc8c5..f8c07b34 100644
+index ac9a074..76f9f3d 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1444,7 +1444,12 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1443,7 +1443,12 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	path->mtk_wdma.queue = 0;
  	path->mtk_wdma.wcid = msta->wcid.idx;
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0007-mtk-mt76-mt7996-add-support-for-different-variants.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0007-mtk-mt76-mt7996-add-support-for-different-variants.patch
index b38735e..0b039e0 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0007-mtk-mt76-mt7996-add-support-for-different-variants.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0007-mtk-mt76-mt7996-add-support-for-different-variants.patch
@@ -1,7 +1,7 @@
-From f63be84654b80990d87723a8e6292b92952633aa Mon Sep 17 00:00:00 2001
+From 1168657b8d856f94f7334ca922b380911e7f0b71 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 20 Jul 2023 17:27:22 +0800
-Subject: [PATCH 007/223] mtk: mt76: mt7996: add support for different variants
+Subject: [PATCH 007/193] mtk: mt76: mt7996: add support for different variants
 
 Add fem type (2i5i, 2i5e, 2e5e, ...)
 Add Kite default bin for each fem type since loading wrong default bin
@@ -35,7 +35,7 @@
  5 files changed, 49 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index da94751d..77dd6b20 100644
+index da94751..77dd6b2 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -9,14 +9,33 @@
@@ -103,7 +103,7 @@
  	if (ret < 0)
  		return ret;
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index 7a771ca2..8074a0ae 100644
+index 7a771ca..8074a0a 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -29,6 +29,7 @@ enum mt7996_eeprom_field {
@@ -115,10 +115,10 @@
  #define MT_EE_WIFI_CONF1_TX_PATH_BAND0		GENMASK(5, 3)
  #define MT_EE_WIFI_CONF2_TX_PATH_BAND1		GENMASK(2, 0)
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 9bf38083..3a6f4f28 100644
+index 6fff95a..c553a19 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -906,7 +906,7 @@ static int mt7996_variant_type_init(struct mt7996_dev *dev)
+@@ -903,7 +903,7 @@ static int mt7996_variant_type_init(struct mt7996_dev *dev)
  		else if (u32_get_bits(val, MT_PAD_GPIO_ADIE_COMB_7992))
  			var_type = MT7992_VAR_TYPE_44;
  		else
@@ -128,7 +128,7 @@
  	default:
  		return -EINVAL;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index a384d44a..dd428570 100644
+index b765295..e567c3e 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -18,6 +18,9 @@
@@ -142,7 +142,7 @@
  			_fw = MT7992_##name;			\
  		}						\
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 17dfbdc8..1dd618c2 100644
+index 17dfbdc..1dd618c 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -49,16 +49,23 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0008-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0008-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch
index 5cb744f..279ccf2 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0008-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0008-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch
@@ -1,7 +1,7 @@
-From 49c81a4e339f9646fb32faa00935e88ea8c91ec5 Mon Sep 17 00:00:00 2001
+From 5525cb05733de8ff8cd557ceeee088a586f9b12b Mon Sep 17 00:00:00 2001
 From: "fancy.liu" <fancy.liu@mediatek.com>
 Date: Tue, 14 Nov 2023 10:13:24 +0800
-Subject: [PATCH 008/223] mtk: mt76: mt7996: ACS channel time too long on duty
+Subject: [PATCH 008/193] mtk: mt76: mt7996: ACS channel time too long on duty
  channel
 
 Step and issue:
@@ -41,7 +41,7 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index 303f4385..dc1ef40d 100644
+index 303f438..dc1ef40 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -927,6 +927,7 @@ int mt76_set_channel(struct mt76_phy *phy, struct cfg80211_chan_def *chandef,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0009-mtk-mt76-mt7996-Fixed-null-pointer-dereference-issue.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0009-mtk-mt76-mt7996-Fixed-null-pointer-dereference-issue.patch
index cb70b1b..acd6e97 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0009-mtk-mt76-mt7996-Fixed-null-pointer-dereference-issue.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0009-mtk-mt76-mt7996-Fixed-null-pointer-dereference-issue.patch
@@ -1,7 +1,7 @@
-From 6f5c66458edeadf97bd3f6acf55a3a9318b86d83 Mon Sep 17 00:00:00 2001
+From 0f882d5fb74c803f40e1595b47e014020a89be16 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Thu, 26 Oct 2023 10:08:10 +0800
-Subject: [PATCH 009/223] mtk: mt76: mt7996: Fixed null pointer dereference
+Subject: [PATCH 009/193] mtk: mt76: mt7996: Fixed null pointer dereference
  issue
 
 ---
@@ -9,10 +9,10 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index f8c07b34..f18c0a08 100644
+index 76f9f3d..f4a1788 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1060,9 +1060,16 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
+@@ -1059,9 +1059,16 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
  				 struct ieee80211_sta *sta,
  				 u32 changed)
  {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0010-mtk-mt76-add-sanity-check-to-prevent-kernel-crash.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0010-mtk-mt76-add-sanity-check-to-prevent-kernel-crash.patch
index 46ba8c2..a6266a8 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0010-mtk-mt76-add-sanity-check-to-prevent-kernel-crash.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0010-mtk-mt76-add-sanity-check-to-prevent-kernel-crash.patch
@@ -1,7 +1,7 @@
-From 8fb1feae687645a1c48070f2eebc44fcb7db080d Mon Sep 17 00:00:00 2001
+From 356d5ed87c0ced7ac2078466d60e4ef5fd87edda Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 30 Oct 2023 11:06:19 +0800
-Subject: [PATCH 010/223] mtk: mt76: add sanity check to prevent kernel crash
+Subject: [PATCH 010/193] mtk: mt76: add sanity check to prevent kernel crash
 
 wcid may not be initialized when mac80211 calls mt76.tx and it would lead to
 kernel crash.
@@ -13,12 +13,12 @@
  1 file changed, 9 insertions(+), 1 deletion(-)
 
 diff --git a/tx.c b/tx.c
-index 7521e739..2634c5bc 100644
+index ce193e6..c24729d 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -352,8 +352,16 @@ mt76_tx(struct mt76_phy *phy, struct ieee80211_sta *sta,
  	if ((info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) ||
- 	    (info->control.flags & IEEE80211_TX_CTRL_SCAN_TX))
+ 	    (info->control.flags & IEEE80211_TX_CTRL_DONT_USE_RATE_MASK))
  		head = &wcid->tx_offchannel;
 -	else
 +	else {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0011-mtk-mt76-mt7996-add-firmware-WA-s-coredump.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0011-mtk-mt76-mt7996-add-firmware-WA-s-coredump.patch
index 804e1c3..ba83837 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0011-mtk-mt76-mt7996-add-firmware-WA-s-coredump.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0011-mtk-mt76-mt7996-add-firmware-WA-s-coredump.patch
@@ -1,7 +1,7 @@
-From 744e6ef280817a9010606e2d36573cc9206e8457 Mon Sep 17 00:00:00 2001
+From 23e7fc9ba2c48915bdf51ceb05703da10dbe1f36 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Fri, 19 May 2023 14:16:50 +0800
-Subject: [PATCH 011/223] mtk: mt76: mt7996: add firmware WA's coredump.
+Subject: [PATCH 011/193] mtk: mt76: mt7996: add firmware WA's coredump.
 
 Change-Id: I51f115b4ae15bc0f871f93652570d72511dbf880
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
@@ -15,7 +15,7 @@
  6 files changed, 182 insertions(+), 83 deletions(-)
 
 diff --git a/mt7996/coredump.c b/mt7996/coredump.c
-index ccab0d7b..60b88085 100644
+index ccab0d7..60b8808 100644
 --- a/mt7996/coredump.c
 +++ b/mt7996/coredump.c
 @@ -7,11 +7,11 @@
@@ -336,7 +336,7 @@
  }
  
 diff --git a/mt7996/coredump.h b/mt7996/coredump.h
-index af2ba219..01ed3731 100644
+index af2ba21..01ed373 100644
 --- a/mt7996/coredump.h
 +++ b/mt7996/coredump.h
 @@ -6,10 +6,13 @@
@@ -429,7 +429,7 @@
  	return NULL;
  }
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index cfcfc3ea..dafc86f8 100644
+index cfcfc3e..dafc86f 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2018,28 +2018,25 @@ void mt7996_mac_reset_work(struct work_struct *work)
@@ -507,7 +507,7 @@
  }
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index dd428570..46fb3a03 100644
+index e567c3e..e691150 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2719,6 +2719,8 @@ static int mt7996_load_patch(struct mt7996_dev *dev)
@@ -530,7 +530,7 @@
  		 fw_type, hdr->fw_ver, hdr->build_date);
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 1dd618c2..602f367d 100644
+index 1dd618c..602f367 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -94,6 +94,8 @@
@@ -564,7 +564,7 @@
  	struct list_head sta_rc_list;
  	struct list_head twt_list;
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index 06e307b5..3450a2fc 100644
+index 06e307b..3450a2f 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -597,7 +597,8 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0012-mtk-mt76-mt7996-for-build-pass.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0012-mtk-mt76-mt7996-for-build-pass.patch
index cee8d38..1f99a49 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0012-mtk-mt76-mt7996-for-build-pass.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0012-mtk-mt76-mt7996-for-build-pass.patch
@@ -1,7 +1,7 @@
-From 5ef8895f1b5e8684b4f81ce52bffa28e629d966b Mon Sep 17 00:00:00 2001
+From 313d33dcaaa7089a4a7209ff77925698d8a6d34e Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 3 Nov 2022 00:27:17 +0800
-Subject: [PATCH 012/223] mtk: mt76: mt7996: for build pass
+Subject: [PATCH 012/193] mtk: mt76: mt7996: for build pass
 
 Change-Id: Ieb44c33ee6e6a2e6058c1ef528404c1a1cbcfdaf
 ---
@@ -17,7 +17,7 @@
  9 files changed, 12 insertions(+), 3 deletions(-)
 
 diff --git a/debugfs.c b/debugfs.c
-index c4649ba0..ac5207e5 100644
+index c4649ba..ac5207e 100644
 --- a/debugfs.c
 +++ b/debugfs.c
 @@ -33,8 +33,11 @@ mt76_napi_threaded_set(void *data, u64 val)
@@ -33,7 +33,7 @@
  	return 0;
  }
 diff --git a/dma.c b/dma.c
-index f4f88c44..56044639 100644
+index f4f88c4..5604463 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -883,7 +883,7 @@ mt76_dma_rx_process(struct mt76_dev *dev, struct mt76_queue *q, int budget)
@@ -46,7 +46,7 @@
  			goto free_frag;
  
 diff --git a/mcu.c b/mcu.c
-index 3353012e..2bcce21f 100644
+index 3353012..2bcce21 100644
 --- a/mcu.c
 +++ b/mcu.c
 @@ -4,6 +4,7 @@
@@ -58,7 +58,7 @@
  struct sk_buff *
  __mt76_mcu_msg_alloc(struct mt76_dev *dev, const void *data,
 diff --git a/mt7615/mcu.c b/mt7615/mcu.c
-index 4e350f27..c2090378 100644
+index 804d3f5..a9ff0ab 100644
 --- a/mt7615/mcu.c
 +++ b/mt7615/mcu.c
 @@ -10,6 +10,7 @@
@@ -70,7 +70,7 @@
  static bool prefer_offload_fw = true;
  module_param(prefer_offload_fw, bool, 0644);
 diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
-index 77f3e92d..07f52dd6 100644
+index 77f3e92..07f52dd 100644
 --- a/mt76_connac_mcu.c
 +++ b/mt76_connac_mcu.c
 @@ -4,6 +4,7 @@
@@ -82,7 +82,7 @@
  int mt76_connac_mcu_start_firmware(struct mt76_dev *dev, u32 addr, u32 option)
  {
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 72c8e574..b04a960b 100644
+index fee36ab..5f4b1f4 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
 @@ -6,6 +6,7 @@
@@ -94,7 +94,7 @@
  #define fw_name(_dev, name, ...)	({			\
  	char *_fw;						\
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index 73e633d0..759a58e8 100644
+index 73e633d..759a58e 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -641,8 +641,8 @@ int mt7996_dma_init(struct mt7996_dev *dev)
@@ -109,7 +109,7 @@
  
  	mt7996_dma_enable(dev, false);
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 77dd6b20..21379ce0 100644
+index 77dd6b2..21379ce 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -249,6 +249,7 @@ static int mt7996_eeprom_parse_efuse_hw_cap(struct mt7996_phy *phy,
@@ -121,7 +121,7 @@
  		u8 band_offs = phy->mt76->band_idx * 3;
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 46fb3a03..623d19f1 100644
+index e691150..56badef 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5,6 +5,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0013-mtk-mt76-mt7996-add-debug-tool.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0013-mtk-mt76-mt7996-add-debug-tool.patch
index 7288efd..ca09805 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0013-mtk-mt76-mt7996-add-debug-tool.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0013-mtk-mt76-mt7996-add-debug-tool.patch
@@ -1,7 +1,7 @@
-From 1e463d48da75799dd89a9ba28eb37e1e18c4a40b Mon Sep 17 00:00:00 2001
+From 5ef6d1ad64a452dfd0f4747760490c3e47ce563d Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 24 Mar 2023 14:02:32 +0800
-Subject: [PATCH 013/223] mtk: mt76: mt7996: add debug tool
+Subject: [PATCH 013/193] mtk: mt76: mt7996: add debug tool
 
 Add PSM bit in sta_info
 
@@ -82,7 +82,7 @@
  create mode 100644 mt7996/mtk_mcu.h
 
 diff --git a/mt76.h b/mt76.h
-index 063c45d2..f50f2117 100644
+index 063c45d..f50f211 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -409,6 +409,8 @@ struct mt76_txwi_cache {
@@ -95,7 +95,7 @@
  
  struct mt76_rx_tid {
 diff --git a/mt7996/Makefile b/mt7996/Makefile
-index 07c8b555..a056b40e 100644
+index 07c8b55..a056b40 100644
 --- a/mt7996/Makefile
 +++ b/mt7996/Makefile
 @@ -1,4 +1,6 @@
@@ -112,7 +112,7 @@
 +
 +mt7996e-y += mtk_debugfs.o mtk_mcu.o
 diff --git a/mt7996/coredump.c b/mt7996/coredump.c
-index 60b88085..a7f91b56 100644
+index 60b8808..a7f91b5 100644
 --- a/mt7996/coredump.c
 +++ b/mt7996/coredump.c
 @@ -195,7 +195,7 @@ mt7996_coredump_fw_stack(struct mt7996_dev *dev, u8 type, struct mt7996_coredump
@@ -161,7 +161,7 @@
  		dev_warn(dev->mt76.dev, "no crash dump data found\n");
  		return -ENODATA;
 diff --git a/mt7996/coredump.h b/mt7996/coredump.h
-index 01ed3731..93cd84a0 100644
+index 01ed373..93cd84a 100644
 --- a/mt7996/coredump.h
 +++ b/mt7996/coredump.h
 @@ -75,6 +75,7 @@ struct mt7996_mem_region {
@@ -186,7 +186,7 @@
  mt7996_crash_data *mt7996_coredump_new(struct mt7996_dev *dev, u8 type)
  {
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index a17c99a2..9671c15d 100644
+index a17c99a..9671c15 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -295,11 +295,39 @@ mt7996_fw_debug_wm_set(void *data, u64 val)
@@ -397,7 +397,7 @@
  	hdr.timestamp = cpu_to_le32(mt76_rr(dev, MT_LPON_FRCR(0)));
  	hdr.len = *(__le16 *)data;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index dafc86f8..d1d45c98 100644
+index dafc86f..d1d45c9 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -956,6 +956,9 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
@@ -411,7 +411,7 @@
  	pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb);
  	memset(txwi_ptr, 0, MT_TXD_SIZE);
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 602f367d..6c889427 100644
+index 602f367..6c88942 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -370,6 +370,7 @@ struct mt7996_dev {
@@ -450,7 +450,7 @@
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debug.h b/mt7996/mtk_debug.h
 new file mode 100644
-index 00000000..27d8f1cb
+index 0000000..27d8f1c
 --- /dev/null
 +++ b/mt7996/mtk_debug.h
 @@ -0,0 +1,2286 @@
@@ -2742,7 +2742,7 @@
 +#endif
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
 new file mode 100644
-index 00000000..d1f3d16c
+index 0000000..d1f3d16
 --- /dev/null
 +++ b/mt7996/mtk_debugfs.c
 @@ -0,0 +1,2506 @@
@@ -3094,7 +3094,7 @@
 +		[MT7996_FEM_MIX] = "mixed FEM",
 +	};
 +
-+	seq_printf(s, "Version: 4.3.24.8\n");
++	seq_printf(s, "Version: 4.3.24.10\n");
 +
 +	if (!test_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state))
 +		return 0;
@@ -5254,7 +5254,7 @@
 +#endif
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
 new file mode 100644
-index 00000000..c16b25ab
+index 0000000..c16b25a
 --- /dev/null
 +++ b/mt7996/mtk_mcu.c
 @@ -0,0 +1,39 @@
@@ -5299,7 +5299,7 @@
 +#endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
 new file mode 100644
-index 00000000..7f4d4e02
+index 0000000..7f4d4e0
 --- /dev/null
 +++ b/mt7996/mtk_mcu.h
 @@ -0,0 +1,19 @@
@@ -5323,7 +5323,7 @@
 +
 +#endif
 diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
-index 3a83e34d..6599c444 100644
+index 3a83e34..6599c44 100644
 --- a/tools/CMakeLists.txt
 +++ b/tools/CMakeLists.txt
 @@ -3,6 +3,13 @@ cmake_minimum_required(VERSION 2.8)
@@ -5341,7 +5341,7 @@
  TARGET_LINK_LIBRARIES(mt76-test nl-tiny)
  
 diff --git a/tools/fwlog.c b/tools/fwlog.c
-index e5d4a105..3c6a61d7 100644
+index e5d4a10..3c6a61d 100644
 --- a/tools/fwlog.c
 +++ b/tools/fwlog.c
 @@ -26,7 +26,7 @@ static const char *debugfs_path(const char *phyname, const char *file)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0014-mtk-mt76-mt7996-add-check-for-hostapd-config-he_ldpc.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0014-mtk-mt76-mt7996-add-check-for-hostapd-config-he_ldpc.patch
index d381689..bcefeaa 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0014-mtk-mt76-mt7996-add-check-for-hostapd-config-he_ldpc.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0014-mtk-mt76-mt7996-add-check-for-hostapd-config-he_ldpc.patch
@@ -1,7 +1,7 @@
-From ef0c8f78bad493731f96c1c6c3659f106a99040a Mon Sep 17 00:00:00 2001
+From 83e488204e800920844972b9b1b63962fbb2444c Mon Sep 17 00:00:00 2001
 From: "Allen.Ye" <allen.ye@mediatek.com>
 Date: Thu, 8 Jun 2023 17:32:33 +0800
-Subject: [PATCH 014/223] mtk: mt76: mt7996: add check for hostapd config
+Subject: [PATCH 014/193] mtk: mt76: mt7996: add check for hostapd config
  he_ldpc
 
 Add check for hostapd config he_ldpc.
@@ -17,7 +17,7 @@
  1 file changed, 9 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 623d19f1..cefd4fad 100644
+index 56badef..0b96b30 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1198,7 +1198,8 @@ int mt7996_mcu_add_rx_ba(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0015-mtk-mt76-mt7996-add-basic-testmode-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0015-mtk-mt76-mt7996-add-basic-testmode-support.patch
index aecd31a..bc959c3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0015-mtk-mt76-mt7996-add-basic-testmode-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0015-mtk-mt76-mt7996-add-basic-testmode-support.patch
@@ -1,7 +1,7 @@
-From 7f3e6ce10b137781002b339ab16c2bf078313c41 Mon Sep 17 00:00:00 2001
+From a745353842ae1ca764abb6c9a24b43594799c3d0 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 26 Sep 2024 14:54:11 +0800
-Subject: [PATCH 015/223] mtk: mt76: mt7996: add basic testmode support
+Subject: [PATCH 015/193] mtk: mt76: mt7996: add basic testmode support
 
 Add testmode eeprom buffer mode support
 
@@ -41,7 +41,7 @@
  create mode 100644 mt7996/testmode.h
 
 diff --git a/eeprom.c b/eeprom.c
-index ab4fab11..6bd2cc1a 100644
+index ab4fab1..6bd2cc1 100644
 --- a/eeprom.c
 +++ b/eeprom.c
 @@ -94,8 +94,10 @@ int mt76_get_of_data_from_mtd(struct mt76_dev *dev, void *eep, int offset, int l
@@ -58,7 +58,7 @@
  
  out_put_node:
 diff --git a/mac80211.c b/mac80211.c
-index dc1ef40d..5d9512d4 100644
+index dc1ef40..5d9512d 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -846,7 +846,8 @@ void mt76_rx(struct mt76_dev *dev, enum mt76_rxq_id q, struct sk_buff *skb)
@@ -72,7 +72,7 @@
  		if (status->flag & RX_FLAG_FAILED_FCS_CRC)
  			phy->test.rx_stats.fcs_error[q]++;
 diff --git a/mt76.h b/mt76.h
-index f50f2117..f6ffccac 100644
+index f50f211..f6ffcca 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -718,14 +718,21 @@ struct mt76_testmode_ops {
@@ -156,7 +156,7 @@
  {
  #ifdef CONFIG_NL80211_TESTMODE
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 200eace5..873f59f7 100644
+index 200eace..873f59f 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1284,12 +1284,14 @@ enum {
@@ -175,7 +175,7 @@
  	MCU_UNI_CMD_OFFCH_SCAN_CTRL = 0x58,
  	MCU_UNI_CMD_PER_STA_INFO = 0x6d,
 diff --git a/mt7996/Makefile b/mt7996/Makefile
-index a056b40e..7bb17f44 100644
+index a056b40..7bb17f4 100644
 --- a/mt7996/Makefile
 +++ b/mt7996/Makefile
 @@ -8,5 +8,6 @@ mt7996e-y := pci.o init.o dma.o eeprom.o main.o mcu.o mac.o \
@@ -186,7 +186,7 @@
  
  mt7996e-y += mtk_debugfs.o mtk_mcu.o
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 21379ce0..cb4fb702 100644
+index 21379ce..cb4fb70 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -6,6 +6,11 @@
@@ -312,7 +312,7 @@
  		u32 eeprom_blk_size = MT7996_EEPROM_BLOCK_SIZE;
  		u32 block_num = DIV_ROUND_UP(MT7996_EEPROM_SIZE, eeprom_blk_size);
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index 8074a0ae..7f7a718f 100644
+index 8074a0a..7f7a718 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -14,6 +14,7 @@ enum mt7996_eeprom_field {
@@ -324,10 +324,10 @@
  	MT_EE_RATE_DELTA_2G =	0x1400,
  	MT_EE_RATE_DELTA_5G =	0x147d,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 3a6f4f28..dc736a2d 100644
+index c553a19..4958897 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -983,6 +983,10 @@ static int mt7996_init_hardware(struct mt7996_dev *dev)
+@@ -980,6 +980,10 @@ static int mt7996_init_hardware(struct mt7996_dev *dev)
  
  	set_bit(MT76_STATE_INITIALIZED, &dev->mphy.state);
  
@@ -338,7 +338,7 @@
  	ret = mt7996_mcu_init(dev);
  	if (ret)
  		return ret;
-@@ -1436,6 +1440,10 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1433,6 +1437,10 @@ int mt7996_register_device(struct mt7996_dev *dev)
  
  	mt7996_init_wiphy(hw, &dev->mt76.mmio.wed);
  
@@ -350,7 +350,7 @@
  				   ARRAY_SIZE(mt76_rates));
  	if (ret)
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index d1d45c98..d73644f6 100644
+index d1d45c9..d73644f 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -686,7 +686,8 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
@@ -364,7 +364,7 @@
  		case RX_ENC_EHT:
  			mt76_connac3_mac_decode_eht_radiotap(skb, rxv, mode);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index f18c0a08..b7ae6e1a 100644
+index f4a1788..da47faf 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -23,6 +23,18 @@ static bool mt7996_dev_running(struct mt7996_dev *dev)
@@ -442,7 +442,7 @@
  		ret = mt7996_mcu_set_pp_en(phy, PP_USR_MODE,
  					   phy->mt76->chandef.punctured);
  		if (ret)
-@@ -1508,6 +1541,8 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -1507,6 +1540,8 @@ const struct ieee80211_ops mt7996_ops = {
  	.sta_set_decap_offload = mt7996_sta_set_decap_offload,
  	.add_twt_setup = mt7996_mac_add_twt_setup,
  	.twt_teardown_request = mt7996_twt_teardown_request,
@@ -452,7 +452,7 @@
  	.sta_add_debugfs = mt7996_sta_add_debugfs,
  #endif
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index cefd4fad..214a39d5 100644
+index 0b96b30..2f3e547 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2880,8 +2880,12 @@ static int mt7996_load_ram(struct mt7996_dev *dev)
@@ -534,7 +534,7 @@
 +				 &req, sizeof(req), false);
 +}
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index df42c0f8..abf8ef48 100644
+index df42c0f..abf8ef4 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -157,6 +157,16 @@ struct mt7996_mcu_eeprom {
@@ -587,7 +587,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 6c889427..5f911515 100644
+index 6c88942..5f91151 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -32,6 +32,7 @@
@@ -692,7 +692,7 @@
  {
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
 new file mode 100644
-index 00000000..58f0ad26
+index 0000000..58f0ad2
 --- /dev/null
 +++ b/mt7996/testmode.c
 @@ -0,0 +1,740 @@
@@ -1438,7 +1438,7 @@
 +};
 diff --git a/mt7996/testmode.h b/mt7996/testmode.h
 new file mode 100644
-index 00000000..319ef257
+index 0000000..319ef25
 --- /dev/null
 +++ b/mt7996/testmode.h
 @@ -0,0 +1,299 @@
@@ -1742,7 +1742,7 @@
 +
 +#endif
 diff --git a/testmode.c b/testmode.c
-index ca4feccf..44f3a5bf 100644
+index ca4fecc..44f3a5b 100644
 --- a/testmode.c
 +++ b/testmode.c
 @@ -2,11 +2,13 @@
@@ -2009,7 +2009,7 @@
  
  	if (mt76_testmode_param_present(td, MT76_TM_ATTR_TX_POWER)) {
 diff --git a/testmode.h b/testmode.h
-index 1b0bcae8..2873c903 100644
+index 1b0bcae..2873c90 100644
 --- a/testmode.h
 +++ b/testmode.h
 @@ -5,7 +5,8 @@
@@ -2197,7 +2197,7 @@
 +
  #endif
 diff --git a/tools/fields.c b/tools/fields.c
-index e3f69089..055f90f3 100644
+index e3f6908..055f90f 100644
 --- a/tools/fields.c
 +++ b/tools/fields.c
 @@ -10,6 +10,7 @@ static const char * const testmode_state[] = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0016-mtk-mt76-mt7996-add-testmode-pre-calibration-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0016-mtk-mt76-mt7996-add-testmode-pre-calibration-support.patch
index 7bfffde..602b2d7 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0016-mtk-mt76-mt7996-add-testmode-pre-calibration-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0016-mtk-mt76-mt7996-add-testmode-pre-calibration-support.patch
@@ -1,7 +1,7 @@
-From 3d599c8f98348aa22fde6d3fc9b0536467a6378c Mon Sep 17 00:00:00 2001
+From bf7cfde381eaebc8e27be3ac9ceae80845ca835f Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 31 Mar 2023 11:27:24 +0800
-Subject: [PATCH 016/223] mtk: mt76: mt7996: add testmode pre-calibration
+Subject: [PATCH 016/193] mtk: mt76: mt7996: add testmode pre-calibration
  support
 
 Change-Id: If8a6cc02fa20e35f079c826e0571e8c04c3f9c7e
@@ -22,7 +22,7 @@
  12 files changed, 632 insertions(+), 23 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index 5d9512d4..1d2477d6 100644
+index 5d9512d..1d2477d 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -6,27 +6,6 @@
@@ -54,7 +54,7 @@
  	CHAN2G(1, 2412),
  	CHAN2G(2, 2417),
 diff --git a/mt76.h b/mt76.h
-index f6ffccac..8666ec2f 100644
+index f6ffcca..8666ec2 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -24,6 +24,27 @@
@@ -94,7 +94,7 @@
  
  #define MT_TM_FW_RX_COUNT	BIT(0)
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 873f59f7..c7fa7b26 100644
+index 873f59f..c7fa7b2 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1058,8 +1058,10 @@ enum {
@@ -109,7 +109,7 @@
  	MCU_UNI_EVENT_PER_STA_INFO = 0x6d,
  	MCU_UNI_EVENT_ALL_STA_INFO = 0x6e,
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index cb4fb702..31b8fd1a 100644
+index cb4fb70..31b8fd1 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -12,6 +12,42 @@ static bool testmode_enable;
@@ -193,7 +193,7 @@
  mt7996_eeprom_check_or_use_default(struct mt7996_dev *dev, bool use_default)
  {
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index 7f7a718f..c1cad4f9 100644
+index 7f7a718..c1cad4f 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -14,6 +14,7 @@ enum mt7996_eeprom_field {
@@ -258,7 +258,7 @@
  #define MT_EE_WIFI_CONF2_TX_PATH_BAND1		GENMASK(2, 0)
  #define MT_EE_WIFI_CONF2_TX_PATH_BAND2		GENMASK(5, 3)
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 214a39d5..08534fec 100644
+index 2f3e547..914f1f9 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -725,6 +725,11 @@ mt7996_mcu_uni_rx_unsolicited_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -274,7 +274,7 @@
  		break;
  	}
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 5f911515..54b81c1e 100644
+index 5f91151..54b81c1 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -399,6 +399,9 @@ struct mt7996_dev {
@@ -306,7 +306,7 @@
  static inline u8 mt7996_max_interface_num(struct mt7996_dev *dev)
  {
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 58f0ad26..6969cba6 100644
+index 58f0ad2..6969cba 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -7,6 +7,8 @@
@@ -773,7 +773,7 @@
 +	.dump_precal = mt7996_tm_dump_precal,
  };
 diff --git a/mt7996/testmode.h b/mt7996/testmode.h
-index 319ef257..9bfb86f2 100644
+index 319ef25..9bfb86f 100644
 --- a/mt7996/testmode.h
 +++ b/mt7996/testmode.h
 @@ -34,6 +34,12 @@ enum bw_mapping_method {
@@ -835,7 +835,7 @@
  	RF_OPER_NORMAL,
  	RF_OPER_RF_TEST,
 diff --git a/testmode.c b/testmode.c
-index 44f3a5bf..cd8cb655 100644
+index 44f3a5b..cd8cb65 100644
 --- a/testmode.c
 +++ b/testmode.c
 @@ -674,6 +674,18 @@ int mt76_testmode_dump(struct ieee80211_hw *hw, struct sk_buff *msg,
@@ -858,7 +858,7 @@
  		err = -EINVAL;
  
 diff --git a/testmode.h b/testmode.h
-index 2873c903..3348d0d5 100644
+index 2873c90..3348d0d 100644
 --- a/testmode.h
 +++ b/testmode.h
 @@ -220,6 +220,14 @@ enum mt76_testmode_state {
@@ -877,7 +877,7 @@
  
  	/* keep last */
 diff --git a/tools/fields.c b/tools/fields.c
-index 055f90f3..b0122763 100644
+index 055f90f..b012276 100644
 --- a/tools/fields.c
 +++ b/tools/fields.c
 @@ -11,6 +11,14 @@ static const char * const testmode_state[] = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0017-mtk-mt76-mt7996-add-normal-mode-pre-calibration-supp.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0017-mtk-mt76-mt7996-add-normal-mode-pre-calibration-supp.patch
index aa08101..36103ad 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0017-mtk-mt76-mt7996-add-normal-mode-pre-calibration-supp.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0017-mtk-mt76-mt7996-add-normal-mode-pre-calibration-supp.patch
@@ -1,7 +1,7 @@
-From 2d4b4838473a1a02b793b9ba214f03640419f5ba Mon Sep 17 00:00:00 2001
+From 5b4ef18a11d468f6cf1cd5e43f1a232c3678bce5 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 1 Mar 2023 12:12:51 +0800
-Subject: [PATCH 017/223] mtk: mt76: mt7996: add normal mode pre-calibration
+Subject: [PATCH 017/193] mtk: mt76: mt7996: add normal mode pre-calibration
  support
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -16,7 +16,7 @@
  7 files changed, 188 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index c7fa7b26..a7d7ecce 100644
+index c7fa7b2..a7d7ecc 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1294,6 +1294,7 @@ enum {
@@ -28,7 +28,7 @@
  	MCU_UNI_CMD_OFFCH_SCAN_CTRL = 0x58,
  	MCU_UNI_CMD_PER_STA_INFO = 0x6d,
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 31b8fd1a..5ff52577 100644
+index 31b8fd1..5ff5257 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -489,6 +489,10 @@ int mt7996_eeprom_init(struct mt7996_dev *dev)
@@ -43,7 +43,7 @@
  	if (ret < 0)
  		return ret;
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index c1cad4f9..b3b9b854 100644
+index c1cad4f..b3b9b85 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -25,6 +25,8 @@ enum mt7996_eeprom_field {
@@ -56,10 +56,10 @@
  
  #define MT_EE_WIFI_CONF0_TX_PATH		GENMASK(2, 0)
 diff --git a/mt7996/init.c b/mt7996/init.c
-index dc736a2d..a34e034d 100644
+index 4958897..5e0a6d0 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1003,6 +1003,12 @@ static int mt7996_init_hardware(struct mt7996_dev *dev)
+@@ -1000,6 +1000,12 @@ static int mt7996_init_hardware(struct mt7996_dev *dev)
  	if (ret < 0)
  		return ret;
  
@@ -73,7 +73,7 @@
  	idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7996_WTBL_STA);
  	if (idx)
 diff --git a/mt7996/main.c b/mt7996/main.c
-index b7ae6e1a..9ff9ae0e 100644
+index da47faf..2642f50 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -310,6 +310,12 @@ int mt7996_set_channel(struct mt76_phy *mphy)
@@ -90,7 +90,7 @@
  		mt7996_tm_update_channel(phy);
  		goto out;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 08534fec..b15075ab 100644
+index 914f1f9..5faaa0f 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3650,6 +3650,172 @@ int mt7996_mcu_get_eeprom_free_block(struct mt7996_dev *dev, u8 *block_num)
@@ -267,7 +267,7 @@
  {
  #define NIC_CAP	3
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 54b81c1e..8770839c 100644
+index 54b81c1..8770839 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -629,6 +629,9 @@ void mt7996_mcu_exit(struct mt7996_dev *dev);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0018-mtk-mt76-mt7996-enable-SCS-feature-for-mt7996-driver.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0018-mtk-mt76-mt7996-enable-SCS-feature-for-mt7996-driver.patch
index 6d0dee2..2b20380 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0018-mtk-mt76-mt7996-enable-SCS-feature-for-mt7996-driver.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0018-mtk-mt76-mt7996-enable-SCS-feature-for-mt7996-driver.patch
@@ -1,7 +1,7 @@
-From 503baaaad8a49fcdcc2030a8eddacfec35c167b0 Mon Sep 17 00:00:00 2001
+From b53aea749fe231715863c5aca07da5313bfe6897 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 8 May 2023 09:03:50 +0800
-Subject: [PATCH 018/223] mtk: mt76: mt7996: enable SCS feature for mt7996
+Subject: [PATCH 018/193] mtk: mt76: mt7996: enable SCS feature for mt7996
  driver
 
 Enable Smart Carrier Sense algorithn by default to improve performance
@@ -20,7 +20,7 @@
  8 files changed, 148 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index a7d7ecce..fcacd546 100644
+index a7d7ecc..fcacd54 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1279,6 +1279,7 @@ enum {
@@ -32,10 +32,10 @@
  	MCU_UNI_CMD_SET_DBDC_PARMS = 0x28,
  	MCU_UNI_CMD_TXPOWER = 0x2b,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index a34e034d..0a8e929a 100644
+index 5e0a6d0..32f3a47 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1432,6 +1432,7 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1429,6 +1429,7 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	dev->mt76.phy.priv = &dev->phy;
  	INIT_WORK(&dev->rc_work, mt7996_mac_sta_rc_work);
  	INIT_DELAYED_WORK(&dev->mphy.mac_work, mt7996_mac_work);
@@ -44,7 +44,7 @@
  	INIT_LIST_HEAD(&dev->twt_list);
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index d73644f6..789caa44 100644
+index d73644f..789caa4 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1815,6 +1815,7 @@ mt7996_mac_full_reset(struct mt7996_dev *dev)
@@ -64,7 +64,7 @@
  
  void mt7996_mac_reset_work(struct work_struct *work)
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 9ff9ae0e..a1c3874c 100644
+index 2642f50..c13b346 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -81,11 +81,17 @@ int mt7996_run(struct ieee80211_hw *hw)
@@ -94,7 +94,7 @@
  	mutex_lock(&dev->mt76.mutex);
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index b15075ab..98edae2c 100644
+index 5faaa0f..753a8ac 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -4832,3 +4832,108 @@ int mt7996_mcu_set_tx_power_ctrl(struct mt7996_phy *phy, u8 power_ctrl_id, u8 da
@@ -207,7 +207,7 @@
 +				 &req, sizeof(req), false);
 +}
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index abf8ef48..f889cb8b 100644
+index abf8ef4..f889cb8 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -966,6 +966,12 @@ enum pp_mode {
@@ -224,7 +224,7 @@
  #define MT7996_PATCH_SCRAMBLE_KEY	GENMASK(15, 8)
  #define MT7996_PATCH_AES_KEY		GENMASK(7, 0)
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 8770839c..6cb6c724 100644
+index 8770839..6cb6c72 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -243,6 +243,16 @@ struct mt7996_hif {
@@ -271,7 +271,7 @@
  static inline u8 mt7996_max_interface_num(struct mt7996_dev *dev)
  {
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index d1f3d16c..1807a744 100644
+index d1f3d16..1807a74 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2429,6 +2429,16 @@ static int mt7996_token_read(struct seq_file *s, void *data)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0019-mtk-mt76-mt7996-add-txpower-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0019-mtk-mt76-mt7996-add-txpower-support.patch
index 9c4eeda..8188823 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0019-mtk-mt76-mt7996-add-txpower-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0019-mtk-mt76-mt7996-add-txpower-support.patch
@@ -1,7 +1,7 @@
-From 5d3b2dafbf6b343983b999b19e94ad175c374bd3 Mon Sep 17 00:00:00 2001
+From e872be26c3041b9ab7983f24de034b13f376a34b Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Fri, 24 Mar 2023 23:35:30 +0800
-Subject: [PATCH 019/223] mtk: mt76: mt7996: add txpower support
+Subject: [PATCH 019/193] mtk: mt76: mt7996: add txpower support
 
 Add single sku and default enable sku.
 
@@ -36,7 +36,7 @@
  14 files changed, 725 insertions(+), 27 deletions(-)
 
 diff --git a/eeprom.c b/eeprom.c
-index 6bd2cc1a..85935dea 100644
+index 6bd2cc1..85935de 100644
 --- a/eeprom.c
 +++ b/eeprom.c
 @@ -320,9 +320,10 @@ mt76_apply_array_limit(s8 *pwr, size_t pwr_len, const __be32 *data,
@@ -141,7 +141,7 @@
  	return max_power;
  }
 diff --git a/mt76.h b/mt76.h
-index 8666ec2f..ac2de858 100644
+index 8666ec2..ac2de85 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -1079,6 +1079,14 @@ struct mt76_power_limits {
@@ -168,7 +168,7 @@
  
  static inline bool mt76_queue_is_rx(struct mt76_dev *dev, struct mt76_queue *q)
 diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
-index 07f52dd6..c7145074 100644
+index 07f52dd..c714507 100644
 --- a/mt76_connac_mcu.c
 +++ b/mt76_connac_mcu.c
 @@ -2160,7 +2160,7 @@ mt76_connac_mcu_rate_txpower_band(struct mt76_phy *phy,
@@ -181,7 +181,7 @@
  			tx_power_tlv.last_msg = ch_list[idx] == last_ch;
  			sku_tlbv.channel = ch_list[idx];
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 5ff52577..b091e30c 100644
+index 5ff5257..b091e30 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -541,3 +541,37 @@ s8 mt7996_eeprom_get_power_delta(struct mt7996_dev *dev, int band)
@@ -223,7 +223,7 @@
 +	[SKU_EHT3x996_484] = 16,
 +};
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index b3b9b854..f3a9618b 100644
+index b3b9b85..f3a9618 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -127,4 +127,46 @@ mt7996_get_channel_group_6g(int channel)
@@ -274,10 +274,10 @@
 +
  #endif
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 0a8e929a..994d74cc 100644
+index 32f3a47..2634cc5 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -297,7 +297,12 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
+@@ -294,7 +294,12 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
  	int nss_delta = mt76_tx_power_nss_delta(nss);
  	int pwr_delta = mt7996_eeprom_get_power_delta(dev, sband->band);
  	struct mt76_power_limits limits;
@@ -290,7 +290,7 @@
  	for (i = 0; i < sband->n_channels; i++) {
  		struct ieee80211_channel *chan = &sband->channels[i];
  		int target_power = mt7996_eeprom_get_target_power(dev, chan);
-@@ -305,11 +310,18 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
+@@ -302,11 +307,18 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
  		target_power += pwr_delta;
  		target_power = mt76_get_rate_power_limits(phy->mt76, chan,
  							  &limits,
@@ -312,7 +312,7 @@
  	}
  }
 diff --git a/mt7996/main.c b/mt7996/main.c
-index a1c3874c..e65b5bd7 100644
+index c13b346..d5b97f1 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -85,6 +85,21 @@ int mt7996_run(struct ieee80211_hw *hw)
@@ -338,7 +338,7 @@
  
  	ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 98edae2c..59a24478 100644
+index 753a8ac..d114e7f 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -4684,9 +4684,31 @@ int mt7996_mcu_wed_rro_reset_sessions(struct mt7996_dev *dev, u16 id)
@@ -437,7 +437,7 @@
  				     MCU_WM_UNI_CMD(TXPOWER), true);
  }
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index f889cb8b..1ed05d7e 100644
+index f889cb8..1ed05d7 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -911,6 +911,7 @@ struct tx_power_ctrl {
@@ -457,7 +457,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 6cb6c724..a1a30b33 100644
+index 6cb6c72..a1a30b3 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -305,6 +305,9 @@ struct mt7996_phy {
@@ -479,7 +479,7 @@
  void mt7996_mcu_scs_sta_poll(struct work_struct *work);
  
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 1807a744..ad89eccd 100644
+index 1807a74..ad89ecc 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2439,6 +2439,364 @@ mt7996_scs_enable_set(void *data, u64 val)
@@ -860,7 +860,7 @@
  				    mt7996_wtbl_read);
  
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index c16b25ab..e56ddd8f 100644
+index c16b25a..e56ddd8 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -12,8 +12,31 @@
@@ -896,7 +896,7 @@
  int mt7996_mcu_muru_dbg_info(struct mt7996_dev *dev, u16 item, u8 val)
  {
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 7f4d4e02..c30418ca 100644
+index 7f4d4e0..c30418c 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -14,6 +14,98 @@ enum {
@@ -999,7 +999,7 @@
  
  #endif
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index 3450a2fc..539e799c 100644
+index 3450a2f..539e799 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -695,24 +695,29 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0020-mtk-mt76-mt7996-add-binfile-mode-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0020-mtk-mt76-mt7996-add-binfile-mode-support.patch
index c4f105c..3a9dfa7 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0020-mtk-mt76-mt7996-add-binfile-mode-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0020-mtk-mt76-mt7996-add-binfile-mode-support.patch
@@ -1,7 +1,7 @@
-From edd667417d5bf86af2b0c04679782614a6b8ef8f Mon Sep 17 00:00:00 2001
+From 0be8483bf7ca457b235bec1204dc6b2ae0030438 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 31 Mar 2023 11:36:34 +0800
-Subject: [PATCH 020/223] mtk: mt76: mt7996: add binfile mode support
+Subject: [PATCH 020/193] mtk: mt76: mt7996: add binfile mode support
 
 Fix binfile cannot sync precal data to atenl
 Binfile is viewed as efuse mode in atenl, so atenl does not allocate
@@ -25,7 +25,7 @@
  7 files changed, 147 insertions(+), 10 deletions(-)
 
 diff --git a/eeprom.c b/eeprom.c
-index 85935dea..4eb27782 100644
+index 85935de..4eb2778 100644
 --- a/eeprom.c
 +++ b/eeprom.c
 @@ -161,6 +161,31 @@ static int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int len)
@@ -61,7 +61,7 @@
  mt76_eeprom_override(struct mt76_phy *phy)
  {
 diff --git a/mt76.h b/mt76.h
-index ac2de858..924f273b 100644
+index ac2de85..924f273 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -973,6 +973,8 @@ struct mt76_dev {
@@ -82,7 +82,7 @@
  struct mt76_queue *
  mt76_init_queue(struct mt76_dev *dev, int qid, int idx, int n_desc,
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index b091e30c..111fe401 100644
+index b091e30..111fe40 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -82,10 +82,17 @@ static int mt7996_check_eeprom(struct mt7996_dev *dev)
@@ -202,7 +202,7 @@
  	if (ret < 0)
  		return ret;
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index f3a9618b..e90180a0 100644
+index f3a9618..e90180a 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -104,6 +104,13 @@ enum mt7996_eeprom_band {
@@ -220,7 +220,7 @@
  mt7996_get_channel_group_5g(int channel)
  {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index a1a30b33..efb4e74c 100644
+index a1a30b3..efb4e74 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -404,6 +404,8 @@ struct mt7996_dev {
@@ -241,7 +241,7 @@
  int mt7996_eeprom_check_fw_mode(struct mt7996_dev *dev);
  int mt7996_eeprom_parse_hw_cap(struct mt7996_dev *dev, struct mt7996_phy *phy);
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index ad89eccd..078ff279 100644
+index ad89ecc..078ff27 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2797,6 +2797,44 @@ static const struct file_operations mt7996_txpower_path_fops = {
@@ -300,7 +300,7 @@
  				    mt7996_wtbl_read);
  
 diff --git a/testmode.h b/testmode.h
-index 3348d0d5..6d79832a 100644
+index 3348d0d..6d79832 100644
 --- a/testmode.h
 +++ b/testmode.h
 @@ -16,7 +16,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0021-mtk-mt76-mt7996-add-testmode-ZWDFS-verification-supp.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0021-mtk-mt76-mt7996-add-testmode-ZWDFS-verification-supp.patch
index 3178946..42fcc3f 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0021-mtk-mt76-mt7996-add-testmode-ZWDFS-verification-supp.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0021-mtk-mt76-mt7996-add-testmode-ZWDFS-verification-supp.patch
@@ -1,7 +1,7 @@
-From 0ae2d7c2cf18d4ca07b05c7ea14fc0c2ea9e5ad7 Mon Sep 17 00:00:00 2001
+From d647ea9ef9051f1702c21c33864bb6298c8e3e43 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 22 Mar 2023 11:19:52 +0800
-Subject: [PATCH 021/223] mtk: mt76: mt7996: add testmode ZWDFS verification
+Subject: [PATCH 021/193] mtk: mt76: mt7996: add testmode ZWDFS verification
  support
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -15,7 +15,7 @@
  6 files changed, 326 insertions(+), 12 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 924f273b..2805d758 100644
+index 924f273..2805d75 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -801,6 +801,14 @@ struct mt76_testmode_data {
@@ -34,7 +34,7 @@
  
  struct mt76_vif {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index efb4e74c..1fe681cf 100644
+index efb4e74..1fe681c 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -297,6 +297,7 @@ struct mt7996_phy {
@@ -46,7 +46,7 @@
  	bool has_aux_rx;
  
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 6969cba6..c4874eb3 100644
+index 6969cba..c4874eb 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -17,6 +17,12 @@ enum {
@@ -336,7 +336,7 @@
  
  static int
 diff --git a/mt7996/testmode.h b/mt7996/testmode.h
-index 9bfb86f2..78662b2e 100644
+index 9bfb86f..78662b2 100644
 --- a/mt7996/testmode.h
 +++ b/mt7996/testmode.h
 @@ -27,9 +27,15 @@ enum {
@@ -399,7 +399,7 @@
 +
  #endif
 diff --git a/testmode.c b/testmode.c
-index cd8cb655..69147f86 100644
+index cd8cb65..69147f8 100644
 --- a/testmode.c
 +++ b/testmode.c
 @@ -27,6 +27,13 @@ const struct nla_policy mt76_tm_policy[NUM_MT76_TM_ATTRS] = {
@@ -453,7 +453,7 @@
  	     nla_put_u8(msg, MT76_TM_ATTR_TX_LTF, td->tx_ltf)) ||
  	    (mt76_testmode_param_present(td, MT76_TM_ATTR_TX_ANTENNA) &&
 diff --git a/tools/fields.c b/tools/fields.c
-index b0122763..77696ce7 100644
+index b012276..77696ce 100644
 --- a/tools/fields.c
 +++ b/tools/fields.c
 @@ -35,6 +35,15 @@ static const char * const testmode_tx_mode[] = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0022-mtk-mt76-mt7996-support-eagle-ZWDFS-on-iFEM.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0022-mtk-mt76-mt7996-support-eagle-ZWDFS-on-iFEM.patch
index 4bc7d88..014da35 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0022-mtk-mt76-mt7996-support-eagle-ZWDFS-on-iFEM.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0022-mtk-mt76-mt7996-support-eagle-ZWDFS-on-iFEM.patch
@@ -1,7 +1,7 @@
-From 0ed31af01bf9c0f5f040222fabee17af063f9eb8 Mon Sep 17 00:00:00 2001
+From ef316262c78854e1be14079f2b257a33d94283d7 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 5 Jul 2023 10:00:17 +0800
-Subject: [PATCH 022/223] mtk: mt76: mt7996: support eagle ZWDFS on iFEM
+Subject: [PATCH 022/193] mtk: mt76: mt7996: support eagle ZWDFS on iFEM
 
 Fix the case that control channel is not first chan during first
 interface setup.
@@ -15,10 +15,10 @@
  3 files changed, 67 insertions(+), 5 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index e65b5bd7..ad4cd5dd 100644
+index d5b97f1..dc363f3 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1433,6 +1433,61 @@ mt7996_twt_teardown_request(struct ieee80211_hw *hw,
+@@ -1432,6 +1432,61 @@ mt7996_twt_teardown_request(struct ieee80211_hw *hw,
  	mutex_unlock(&dev->mt76.mutex);
  }
  
@@ -80,7 +80,7 @@
  static int
  mt7996_set_radar_background(struct ieee80211_hw *hw,
  			    struct cfg80211_chan_def *chandef)
-@@ -1441,6 +1496,7 @@ mt7996_set_radar_background(struct ieee80211_hw *hw,
+@@ -1440,6 +1495,7 @@ mt7996_set_radar_background(struct ieee80211_hw *hw,
  	struct mt7996_dev *dev = phy->dev;
  	int ret = -EINVAL;
  	bool running;
@@ -88,7 +88,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -1453,13 +1509,14 @@ mt7996_set_radar_background(struct ieee80211_hw *hw,
+@@ -1452,13 +1508,14 @@ mt7996_set_radar_background(struct ieee80211_hw *hw,
  		goto out;
  	}
  
@@ -105,7 +105,7 @@
  		ret = mt7996_mcu_rdd_background_enable(phy, NULL);
  		if (ret)
  			goto out;
-@@ -1468,7 +1525,9 @@ mt7996_set_radar_background(struct ieee80211_hw *hw,
+@@ -1467,7 +1524,9 @@ mt7996_set_radar_background(struct ieee80211_hw *hw,
  			goto update_phy;
  	}
  
@@ -117,28 +117,26 @@
  		goto out;
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 59a24478..7ef6bb1f 100644
+index d114e7f..669d27b 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
-@@ -382,12 +382,14 @@ mt7996_mcu_rx_radar_detected(struct mt7996_dev *dev, struct sk_buff *skb)
- 	if (!mphy)
+@@ -374,10 +374,12 @@ mt7996_mcu_rx_radar_detected(struct mt7996_dev *dev, struct sk_buff *skb)
+ 	if (r->band_idx == MT_RX_SEL2 && !dev->rdd2_phy)
  		return;
  
 -	if (r->band_idx == MT_RX_SEL2)
 +	if (r->band_idx == MT_RX_SEL2) {
 +		dev->bg_nxt_freq = 0;
- 		cfg80211_background_radar_event(mphy->hw->wiphy,
- 						&dev->rdd2_chandef,
- 						GFP_ATOMIC);
+ 		mphy = dev->rdd2_phy->mt76;
 -	else
 +	} else {
- 		ieee80211_radar_detected(mphy->hw);
+ 		mphy = dev->mt76.phys[r->band_idx];
 +	}
- 	dev->hw_pattern++;
- }
  
+ 	if (!mphy)
+ 		return;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 1fe681cf..2ec72496 100644
+index 1fe681c..2ec7249 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -407,6 +407,7 @@ struct mt7996_dev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0023-mtk-mt76-mt7996-refactor-eeprom-loading-flow-for-sku.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0023-mtk-mt76-mt7996-refactor-eeprom-loading-flow-for-sku.patch
index b8a0ee1..a6663a3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0023-mtk-mt76-mt7996-refactor-eeprom-loading-flow-for-sku.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0023-mtk-mt76-mt7996-refactor-eeprom-loading-flow-for-sku.patch
@@ -1,7 +1,7 @@
-From f23ac5fb50b0764391e2aebeab3c748eb46a5dbf Mon Sep 17 00:00:00 2001
+From 3b2bb9b8074012288dd9650517ffbc21621b9b78 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 11 Mar 2024 10:43:03 +0800
-Subject: [PATCH 023/223] mtk: mt76: mt7996: refactor eeprom loading flow for
+Subject: [PATCH 023/193] mtk: mt76: mt7996: refactor eeprom loading flow for
  sku checking
 
 Add eeprom sku checking mechanism to avoid using the
@@ -37,7 +37,7 @@
  3 files changed, 5 insertions(+), 37 deletions(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 111fe401..da30be33 100644
+index 111fe40..da30be3 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -50,33 +50,14 @@ const u32 dpd_6g_bw320_ch_num = ARRAY_SIZE(dpd_6g_ch_list_bw320);
@@ -113,7 +113,7 @@
  	dev->eeprom_mode = DEFAULT_BIN_MODE;
  	eeprom[MT_EE_TESTMODE_EN] = dev->testmode_enable;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 7ef6bb1f..1d4655ed 100644
+index 669d27b..baebb01 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3522,7 +3522,7 @@ int mt7996_mcu_set_chan_info(struct mt7996_phy *phy, u16 tag)
@@ -126,7 +126,7 @@
  #define MAX_PAGE_IDX_MASK	GENMASK(7, 5)
  #define PAGE_IDX_MASK		GENMASK(4, 2)
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 078ff279..60ec6bd4 100644
+index 078ff27..60ec6bd 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -340,7 +340,6 @@ static int mt7996_dump_version(struct seq_file *s, void *data)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0024-mtk-mt76-mt7996-add-vendor-commands-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0024-mtk-mt76-mt7996-add-vendor-commands-support.patch
index 77a5a5c..289522c 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0024-mtk-mt76-mt7996-add-vendor-commands-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0024-mtk-mt76-mt7996-add-vendor-commands-support.patch
@@ -1,7 +1,7 @@
-From 4ae9d91e5d5faa7600dfa6fefc331e582d74b5c9 Mon Sep 17 00:00:00 2001
+From b1f304d9bbb79080fce47c76865e7fe1141cb97a Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Tue, 13 Dec 2022 15:17:43 +0800
-Subject: [PATCH 024/223] mtk: mt76: mt7996: add vendor commands support
+Subject: [PATCH 024/193] mtk: mt76: mt7996: add vendor commands support
 
 mtk: wifi: mt76: fix muru_onoff as all enabled by default
 
@@ -52,7 +52,7 @@
  create mode 100644 mt7996/vendor.h
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index fcacd546..e9afc27b 100644
+index fcacd54..e9afc27 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1269,6 +1269,7 @@ enum {
@@ -72,7 +72,7 @@
  
  enum {
 diff --git a/mt7996/Makefile b/mt7996/Makefile
-index 7bb17f44..6643c7a3 100644
+index 7bb17f4..6643c7a 100644
 --- a/mt7996/Makefile
 +++ b/mt7996/Makefile
 @@ -1,11 +1,12 @@
@@ -90,10 +90,10 @@
  mt7996e-$(CONFIG_DEV_COREDUMP) += coredump.o
  mt7996e-$(CONFIG_NL80211_TESTMODE) += testmode.o
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 994d74cc..703c7af0 100644
+index 2634cc5..26c1cdf 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -380,6 +380,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -377,6 +377,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  
  	phy->slottime = 9;
  	phy->beacon_rate = -1;
@@ -101,7 +101,7 @@
  
  	hw->sta_data_size = sizeof(struct mt7996_sta);
  	hw->vif_data_size = sizeof(struct mt7996_vif);
-@@ -632,6 +633,10 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -629,6 +630,10 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  	if (ret)
  		goto error;
  
@@ -112,7 +112,7 @@
  	ret = mt76_register_phy(mphy, true, mt76_rates,
  				ARRAY_SIZE(mt76_rates));
  	if (ret)
-@@ -1463,6 +1468,10 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1460,6 +1465,10 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	dev->mt76.test_ops = &mt7996_testmode_ops;
  #endif
  
@@ -124,7 +124,7 @@
  				   ARRAY_SIZE(mt76_rates));
  	if (ret)
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 789caa44..05d02af1 100644
+index 789caa4..05d02af 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -680,6 +680,11 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
@@ -140,10 +140,10 @@
  		status->flag |= RX_FLAG_8023;
  		mt7996_wed_check_ppe(dev, &dev->mt76.q_rx[q], msta, skb,
 diff --git a/mt7996/main.c b/mt7996/main.c
-index ad4cd5dd..67eab3df 100644
+index dc363f3..915b86e 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -749,6 +749,10 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -748,6 +748,10 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	mt7996_mac_wtbl_update(dev, idx,
  			       MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
  
@@ -155,7 +155,7 @@
  	if (ret)
  		return ret;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 1d4655ed..808ea178 100644
+index baebb01..cffdd21 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1388,6 +1388,8 @@ static void
@@ -214,7 +214,7 @@
 +}
 +#endif
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 1ed05d7e..f827de9e 100644
+index 1ed05d7..f827de9 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -754,8 +754,20 @@ enum {
@@ -248,7 +248,7 @@
  };
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 2ec72496..a559c76f 100644
+index 2ec7249..a559c76 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -267,6 +267,34 @@ struct mt7996_wed_rro_session_id {
@@ -333,7 +333,7 @@
  int mt7996_mtk_init_debugfs(struct mt7996_phy *phy, struct dentry *dir);
  int mt7996_mcu_muru_dbg_info(struct mt7996_dev *dev, u16 item, u8 val);
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index e56ddd8f..5c54d02c 100644
+index e56ddd8..5c54d02 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -59,4 +59,91 @@ int mt7996_mcu_muru_dbg_info(struct mt7996_dev *dev, u16 item, u8 val)
@@ -429,7 +429,7 @@
 +
  #endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index c30418ca..36a58ad6 100644
+index c30418c..36a58ad 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -106,6 +106,21 @@ enum txpower_event {
@@ -456,7 +456,7 @@
  #endif
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
 new file mode 100644
-index 00000000..0d6fa779
+index 0000000..0d6fa77
 --- /dev/null
 +++ b/mt7996/vendor.c
 @@ -0,0 +1,805 @@
@@ -1267,7 +1267,7 @@
 +}
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
 new file mode 100644
-index 00000000..8aaa18ee
+index 0000000..8aaa18e
 --- /dev/null
 +++ b/mt7996/vendor.h
 @@ -0,0 +1,153 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0025-mtk-mt76-mt7996-add-debugfs-for-fw-coredump.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0025-mtk-mt76-mt7996-add-debugfs-for-fw-coredump.patch
index fa9b52b..7f4263b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0025-mtk-mt76-mt7996-add-debugfs-for-fw-coredump.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0025-mtk-mt76-mt7996-add-debugfs-for-fw-coredump.patch
@@ -1,7 +1,7 @@
-From 63a51fd94d291a40f0514580c8f75f5e80d80886 Mon Sep 17 00:00:00 2001
+From bcb9246aadcdac7728bb7cce26e93a275f6eae23 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Fri, 19 May 2023 14:56:07 +0800
-Subject: [PATCH 025/223] mtk: mt76: mt7996: add debugfs for fw coredump.
+Subject: [PATCH 025/193] mtk: mt76: mt7996: add debugfs for fw coredump.
 
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
 ---
@@ -12,7 +12,7 @@
  4 files changed, 56 insertions(+), 5 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 9671c15d..1f4bad62 100644
+index 9671c15..1f4bad6 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -84,6 +84,8 @@ mt7996_sys_recovery_set(struct file *file, const char __user *user_buf,
@@ -64,7 +64,7 @@
  	desc += scnprintf(buff + desc, bufsz - desc,
  			  "\nlet's dump firmware SER statistics...\n");
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 05d02af1..e9f3942f 100644
+index 05d02af..e9f3942 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2101,15 +2101,36 @@ void mt7996_mac_dump_work(struct work_struct *work)
@@ -116,7 +116,7 @@
  	}
  
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index f827de9e..3e9364de 100644
+index f827de9..3e9364d 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -958,7 +958,11 @@ enum {
@@ -132,7 +132,7 @@
  	UNI_CMD_SER_ENABLE = 1,
  	UNI_CMD_SER_SET,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index a559c76f..edd2ce33 100644
+index a559c76..edd2ce3 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -147,6 +147,14 @@ enum mt7996_fem_type {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0026-mtk-mt76-mt7996-Add-mt7992-coredump-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0026-mtk-mt76-mt7996-Add-mt7992-coredump-support.patch
index 68f5e09..2d0b571 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0026-mtk-mt76-mt7996-Add-mt7992-coredump-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0026-mtk-mt76-mt7996-Add-mt7992-coredump-support.patch
@@ -1,7 +1,7 @@
-From b421656ce76c53eb44a3e43d8399bb614109ad85 Mon Sep 17 00:00:00 2001
+From 96bad7cc6e83269af0bb643485c06ab1e9dcfa6b Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Mon, 25 Dec 2023 15:17:49 +0800
-Subject: [PATCH 026/223] mtk: mt76: mt7996: Add mt7992 coredump support
+Subject: [PATCH 026/193] mtk: mt76: mt7996: Add mt7992 coredump support
 
 1. Add mt7992 coredump support
 2. fixed if new ic have not support coredump, it may cause crash when remove module
@@ -14,7 +14,7 @@
  2 files changed, 67 insertions(+), 14 deletions(-)
 
 diff --git a/mt7996/coredump.c b/mt7996/coredump.c
-index a7f91b56..d09bcd4b 100644
+index a7f91b5..d09bcd4 100644
 --- a/mt7996/coredump.c
 +++ b/mt7996/coredump.c
 @@ -67,6 +67,44 @@ static const struct mt7996_mem_region mt7996_wa_mem_regions[] = {
@@ -147,7 +147,7 @@
  }
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index edd2ce33..c011e8ec 100644
+index edd2ce3..c011e8e 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -238,6 +238,7 @@ struct mt7996_vif {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0027-mtk-mt76-mt7996-add-support-for-runtime-set-in-band-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0027-mtk-mt76-mt7996-add-support-for-runtime-set-in-band-.patch
index cec3aec..c00a750 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0027-mtk-mt76-mt7996-add-support-for-runtime-set-in-band-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0027-mtk-mt76-mt7996-add-support-for-runtime-set-in-band-.patch
@@ -1,7 +1,7 @@
-From 83a6bd94bc5c54c1ddb9fb2db0c2746d3bb5812e Mon Sep 17 00:00:00 2001
+From c08ddf22ff6a27ac3667e0649475d2bddc1aa385 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Tue, 6 Jun 2023 16:57:10 +0800
-Subject: [PATCH 027/223] mtk: mt76: mt7996: add support for runtime set
+Subject: [PATCH 027/193] mtk: mt76: mt7996: add support for runtime set
  in-band discovery
 
 with this patch, AP can runtime set inband discovery via hostapd_cli
@@ -17,7 +17,7 @@
  1 file changed, 2 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 808ea178..eb065ffc 100644
+index cffdd21..f451bf5 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2624,8 +2624,7 @@ int mt7996_mcu_beacon_inband_discov(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0028-mtk-mt76-mt7996-add-support-spatial-reuse-debug-comm.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0028-mtk-mt76-mt7996-add-support-spatial-reuse-debug-comm.patch
index d09b064..efb183d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0028-mtk-mt76-mt7996-add-support-spatial-reuse-debug-comm.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0028-mtk-mt76-mt7996-add-support-spatial-reuse-debug-comm.patch
@@ -1,7 +1,7 @@
-From a3f223f025ce2abc2dc0e42ab835a8cc5ef6d65a Mon Sep 17 00:00:00 2001
+From 1fbcac2b37824b62ebbd3c1e6d8dd00e7d3d585f Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 10 Jul 2023 11:47:29 +0800
-Subject: [PATCH 028/223] mtk: mt76: mt7996: add support spatial reuse debug
+Subject: [PATCH 028/193] mtk: mt76: mt7996: add support spatial reuse debug
  commands
 
 This commit adds the following debug commands in debugfs:
@@ -28,7 +28,7 @@
  7 files changed, 270 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index e9afc27b..dd63d4a0 100644
+index e9afc27..dd63d4a 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1056,6 +1056,7 @@ enum {
@@ -40,7 +40,7 @@
  	MCU_UNI_EVENT_TX_DONE = 0x2d,
  	MCU_UNI_EVENT_BF = 0x33,
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 67eab3df..6203e800 100644
+index 915b86e..359ea91 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -6,6 +6,9 @@
@@ -64,7 +64,7 @@
  						dev->dbg.sku_disable ? 0 : phy->sku_limit_en);
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index eb065ffc..78462729 100644
+index f451bf5..febd004 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -727,6 +727,14 @@ mt7996_mcu_uni_rx_unsolicited_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -83,7 +83,7 @@
  	case MCU_UNI_EVENT_TESTMODE_CTRL:
  		mt7996_tm_rf_test_event(dev, skb);
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index c011e8ec..356935b2 100644
+index c011e8e..356935b 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -366,6 +366,10 @@ struct mt7996_phy {
@@ -107,7 +107,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 60ec6bd4..13ea6274 100644
+index 60ec6bd..13ea627 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2834,6 +2834,83 @@ static int mt7996_show_eeprom_mode(struct seq_file *s, void *data)
@@ -207,7 +207,7 @@
  }
  
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 5c54d02c..dbdf8d80 100644
+index 5c54d02..dbdf8d8 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -146,4 +146,115 @@ int mt7996_mcu_edcca_threshold_ctrl(struct mt7996_phy *phy, u8 *value, bool set)
@@ -327,7 +327,7 @@
 +}
  #endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 36a58ad6..098e63ae 100644
+index 36a58ad..098e63a 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -121,6 +121,62 @@ enum {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0029-mtk-mt76-mt7996-Establish-BA-in-VO-queue.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0029-mtk-mt76-mt7996-Establish-BA-in-VO-queue.patch
index 800f01f..a45e85e 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0029-mtk-mt76-mt7996-Establish-BA-in-VO-queue.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0029-mtk-mt76-mt7996-Establish-BA-in-VO-queue.patch
@@ -1,14 +1,14 @@
-From 836be9f533e2d5441088435050d0400711311301 Mon Sep 17 00:00:00 2001
+From 7c68dce5c1950cce84ac3d3994546a3ebf1d1d36 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Tue, 1 Aug 2023 16:02:28 +0800
-Subject: [PATCH 029/223] mtk: mt76: mt7996: Establish BA in VO queue
+Subject: [PATCH 029/193] mtk: mt76: mt7996: Establish BA in VO queue
 
 ---
  mt7996/mac.c | 2 --
  1 file changed, 2 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index e9f3942f..428ccb1a 100644
+index e9f3942..428ccb1 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1053,8 +1053,6 @@ mt7996_tx_check_aggr(struct ieee80211_sta *sta, struct sk_buff *skb)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0030-mtk-mt76-mt7996-report-tx-and-rx-byte-to-tpt_led.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0030-mtk-mt76-mt7996-report-tx-and-rx-byte-to-tpt_led.patch
index 009845a..e68f041 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0030-mtk-mt76-mt7996-report-tx-and-rx-byte-to-tpt_led.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0030-mtk-mt76-mt7996-report-tx-and-rx-byte-to-tpt_led.patch
@@ -1,14 +1,14 @@
-From ccc0d8ca18a2fa4039f664f3806146aca97fd5a2 Mon Sep 17 00:00:00 2001
+From c44b0549f0033d4092d31abce20f4020b06d7ada Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 Date: Sat, 12 Aug 2023 04:17:22 +0800
-Subject: [PATCH 030/223] mtk: mt76: mt7996: report tx and rx byte to tpt_led
+Subject: [PATCH 030/193] mtk: mt76: mt7996: report tx and rx byte to tpt_led
 
 ---
  mt7996/mcu.c | 15 +++++++++++----
  1 file changed, 11 insertions(+), 4 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 78462729..9e6f4d13 100644
+index febd004..ed41f51 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -535,6 +535,8 @@ mt7996_mcu_rx_all_sta_info_event(struct mt7996_dev *dev, struct sk_buff *skb)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0031-mtk-mt76-mt7996-support-dup-wtbl.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0031-mtk-mt76-mt7996-support-dup-wtbl.patch
index 482a4b3..97032e4 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0031-mtk-mt76-mt7996-support-dup-wtbl.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0031-mtk-mt76-mt7996-support-dup-wtbl.patch
@@ -1,7 +1,7 @@
-From 17af6c5607c9b5191323d600c1fa7456b8741830 Mon Sep 17 00:00:00 2001
+From 0b1c543146b42ab542e1195b869e5b32957eb2da Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 21 Sep 2023 00:52:46 +0800
-Subject: [PATCH 031/223] mtk: mt76: mt7996: support dup wtbl
+Subject: [PATCH 031/193] mtk: mt76: mt7996: support dup wtbl
 
 Change-Id: I14ba41ace8341c23c1cfb6e9c4fbb2d5e93a5714
 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
@@ -12,10 +12,10 @@
  3 files changed, 25 insertions(+)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 703c7af0..3421326a 100644
+index 26c1cdf..92d4d6f 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -689,6 +689,7 @@ static void mt7996_init_work(struct work_struct *work)
+@@ -686,6 +686,7 @@ static void mt7996_init_work(struct work_struct *work)
  	mt7996_mcu_set_eeprom(dev);
  	mt7996_mac_init(dev);
  	mt7996_txbf_init(dev);
@@ -24,7 +24,7 @@
  
  void mt7996_wfsys_reset(struct mt7996_dev *dev)
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 356935b2..7bc5504e 100644
+index 356935b..7bc5504 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -844,6 +844,7 @@ int mt7996_mtk_init_debugfs(struct mt7996_phy *phy, struct dentry *dir);
@@ -36,7 +36,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index dbdf8d80..ea4e5bf2 100644
+index dbdf8d8..ea4e5bf 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -257,4 +257,27 @@ void mt7996_mcu_rx_sr_event(struct mt7996_dev *dev, struct sk_buff *skb)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0032-mtk-mt76-try-more-times-when-send-message-timeout.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0032-mtk-mt76-try-more-times-when-send-message-timeout.patch
index cf35c3d..a09d72e 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0032-mtk-mt76-try-more-times-when-send-message-timeout.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0032-mtk-mt76-try-more-times-when-send-message-timeout.patch
@@ -1,7 +1,7 @@
-From 6a7e30cf77280b1eb10fd17347ba33759f0d9148 Mon Sep 17 00:00:00 2001
+From 8f5062f0a4362f58e57354447ac81924c184db8a Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Mon, 6 Nov 2023 11:10:10 +0800
-Subject: [PATCH 032/223] mtk: mt76: try more times when send message timeout.
+Subject: [PATCH 032/193] mtk: mt76: try more times when send message timeout.
 
 Change-Id: Ib7c01e6c9f74f68d8404a3d8bada9e5a10c4e232
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
@@ -13,7 +13,7 @@
  4 files changed, 54 insertions(+), 61 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index 56044639..66c000ef 100644
+index 5604463..66c000e 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -504,9 +504,12 @@ mt76_dma_tx_queue_skb_raw(struct mt76_dev *dev, struct mt76_queue *q,
@@ -40,7 +40,7 @@
  
  static int
 diff --git a/mcu.c b/mcu.c
-index 2bcce21f..fed363d0 100644
+index 2bcce21..fed363d 100644
 --- a/mcu.c
 +++ b/mcu.c
 @@ -4,6 +4,7 @@
@@ -144,7 +144,7 @@
  
  	return ret;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 428ccb1a..3c9ee0c8 100644
+index 428ccb1..3c9ee0c 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1805,13 +1805,24 @@ mt7996_mac_full_reset(struct mt7996_dev *dev)
@@ -221,7 +221,7 @@
  		 wiphy_name(dev->mt76.hw->wiphy));
  }
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 9e6f4d13..08234b3a 100644
+index ed41f51..77567d5 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3139,6 +3139,7 @@ int mt7996_mcu_init_firmware(struct mt7996_dev *dev)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0033-mtk-mt76-mt7996-add-SER-overlap-handle.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0033-mtk-mt76-mt7996-add-SER-overlap-handle.patch
index b422e69..05bd767 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0033-mtk-mt76-mt7996-add-SER-overlap-handle.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0033-mtk-mt76-mt7996-add-SER-overlap-handle.patch
@@ -1,7 +1,7 @@
-From 0b6f875816c6849eaadae1cbf974ee1327af04f2 Mon Sep 17 00:00:00 2001
+From d5e534db95352e78dd449058a31aad734a36afeb Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Tue, 21 Nov 2023 09:55:46 +0800
-Subject: [PATCH 033/223] mtk: mt76: mt7996: add SER overlap handle
+Subject: [PATCH 033/193] mtk: mt76: mt7996: add SER overlap handle
 
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
 ---
@@ -11,7 +11,7 @@
  3 files changed, 21 insertions(+)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 3c9ee0c8..2ce9e839 100644
+index 3c9ee0c..2ce9e83 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1906,6 +1906,7 @@ void mt7996_mac_reset_work(struct work_struct *work)
@@ -54,7 +54,7 @@
  	wake_up(&dev->reset_wait);
  }
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 08234b3a..2a647b7b 100644
+index 77567d5..a5b4b84 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -256,6 +256,14 @@ mt7996_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
@@ -73,7 +73,7 @@
  
  	seq = ++dev->mt76.mcu.msg_seq & 0xf;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 7bc5504e..22d44542 100644
+index 7bc5504..22d4454 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -406,6 +406,8 @@ struct mt7996_dev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0034-mtk-mt76-mt7996-kite-default-1-pcie-setting.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0034-mtk-mt76-mt7996-kite-default-1-pcie-setting.patch
index 46316e8..63210bf 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0034-mtk-mt76-mt7996-kite-default-1-pcie-setting.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0034-mtk-mt76-mt7996-kite-default-1-pcie-setting.patch
@@ -1,7 +1,7 @@
-From 7077356d80d23d074c2271e5d96697a8d02ad297 Mon Sep 17 00:00:00 2001
+From 3d999c0abf75d54f412befbf0247219e796e1bef Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 13 Jul 2023 16:36:36 +0800
-Subject: [PATCH 034/223] mtk: mt76: mt7996: kite default 1-pcie setting
+Subject: [PATCH 034/193] mtk: mt76: mt7996: kite default 1-pcie setting
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -9,7 +9,7 @@
  1 file changed, 11 insertions(+)
 
 diff --git a/mt7996/pci.c b/mt7996/pci.c
-index 04056181..05830c01 100644
+index 0405618..05830c0 100644
 --- a/mt7996/pci.c
 +++ b/mt7996/pci.c
 @@ -11,6 +11,9 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0035-mtk-mt76-mt7996-support-BF-MIMO-debug-commands.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0035-mtk-mt76-mt7996-support-BF-MIMO-debug-commands.patch
index c04e36f..cc0631b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0035-mtk-mt76-mt7996-support-BF-MIMO-debug-commands.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0035-mtk-mt76-mt7996-support-BF-MIMO-debug-commands.patch
@@ -1,7 +1,7 @@
-From 3330075935bef71cea064ce4bf0d4453fdc2301a Mon Sep 17 00:00:00 2001
+From fb2f5251b2ecfed835ed151083be4a2954f1c54d Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Tue, 3 Jan 2023 09:42:07 +0800
-Subject: [PATCH 035/223] mtk: mt76: mt7996: support BF/MIMO debug commands
+Subject: [PATCH 035/193] mtk: mt76: mt7996: support BF/MIMO debug commands
 
 This commit includes the following commands:
 1. starec_bf_read
@@ -31,7 +31,7 @@
  6 files changed, 989 insertions(+)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 2a647b7b..baf71b0a 100644
+index a5b4b84..f46afbe 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -754,6 +754,11 @@ mt7996_mcu_uni_rx_unsolicited_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -47,7 +47,7 @@
  	default:
  		break;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 3e9364de..8a718513 100644
+index 3e9364d..8a71851 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -770,8 +770,12 @@ enum {
@@ -64,7 +64,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 22d44542..8d986dee 100644
+index 22d4454..8d986de 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -847,6 +847,11 @@ int mt7996_mcu_muru_dbg_info(struct mt7996_dev *dev, u16 item, u8 val);
@@ -80,7 +80,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 13ea6274..51449df4 100644
+index 13ea627..51449df 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2996,6 +2996,15 @@ int mt7996_mtk_init_debugfs(struct mt7996_phy *phy, struct dentry *dir)
@@ -100,7 +100,7 @@
  }
  
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index ea4e5bf2..6b2cdad6 100644
+index ea4e5bf..6b2cdad 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -280,4 +280,628 @@ int mt7996_mcu_set_dup_wtbl(struct mt7996_dev *dev)
@@ -733,7 +733,7 @@
 +
  #endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 098e63ae..27d6a05b 100644
+index 098e63a..27d6a05 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -119,6 +119,348 @@ enum {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0036-mtk-mt76-mt7996-add-build-the-following-MURU-mcu-com.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0036-mtk-mt76-mt7996-add-build-the-following-MURU-mcu-com.patch
index 1a3d22e..336f1b4 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0036-mtk-mt76-mt7996-add-build-the-following-MURU-mcu-com.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0036-mtk-mt76-mt7996-add-build-the-following-MURU-mcu-com.patch
@@ -1,7 +1,7 @@
-From e4a6bac2e1b29a00396adc9bdd1b276eb3e0ee4a Mon Sep 17 00:00:00 2001
+From 5bd260ef2bcd50c4bc56a2b7a1150d8c3b975374 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Tue, 13 Jun 2023 14:49:02 +0800
-Subject: [PATCH 036/223] mtk: mt76: mt7996: add build the following MURU mcu
+Subject: [PATCH 036/193] mtk: mt76: mt7996: add build the following MURU mcu
  command tlvs
 
 It includes the following tlvs:
@@ -18,7 +18,7 @@
  5 files changed, 219 insertions(+)
 
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 8a718513..a98b174e 100644
+index 8a71851..a98b174 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -776,6 +776,7 @@ enum {
@@ -30,7 +30,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 8d986dee..ed998c0e 100644
+index 8d986de..ed998c0 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -852,6 +852,9 @@ void mt7996_mcu_rx_bf_event(struct mt7996_dev *dev, struct sk_buff *skb);
@@ -44,7 +44,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 51449df4..1c4e2c90 100644
+index 51449df..1c4e2c9 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2911,6 +2911,127 @@ mt7996_sr_scene_cond_show(struct seq_file *file, void *data)
@@ -185,7 +185,7 @@
  }
  
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 6b2cdad6..68650623 100644
+index 6b2cdad..6865062 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -904,4 +904,82 @@ error:
@@ -272,7 +272,7 @@
 +
  #endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 27d6a05b..d9686ebb 100644
+index 27d6a05..d9686eb 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -119,6 +119,20 @@ enum {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0037-mtk-mt76-mt7996-add-cert-patch.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0037-mtk-mt76-mt7996-add-cert-patch.patch
index 3e626f4..73f880b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0037-mtk-mt76-mt7996-add-cert-patch.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0037-mtk-mt76-mt7996-add-cert-patch.patch
@@ -1,7 +1,7 @@
-From d55504a4ab7bd47bcc4c26859eda52302c4855a7 Mon Sep 17 00:00:00 2001
+From 57bf57c14c4fba7e0e5dd595fa7e36fa75ce96ea Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Mon, 14 Aug 2023 13:36:58 +0800
-Subject: [PATCH 037/223] mtk: mt76: mt7996: add cert patch
+Subject: [PATCH 037/193] mtk: mt76: mt7996: add cert patch
 
 This patch includes TGac and TGax
 
@@ -42,7 +42,7 @@
  9 files changed, 779 insertions(+), 7 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 2ce9e839..484f91aa 100644
+index 2ce9e83..484f91a 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -10,6 +10,7 @@
@@ -69,10 +69,10 @@
  {
  	struct mt7996_dev *dev = container_of(work, struct mt7996_dev, rc_work);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 6203e800..dc00cc2f 100644
+index 359ea91..dd9f2ca 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -602,6 +602,7 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -601,6 +601,7 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		       bool beacon, bool mcast)
  {
  	struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv;
@@ -80,7 +80,7 @@
  	struct mt76_phy *mphy = hw->priv;
  	u16 rate;
  	u8 i, idx;
-@@ -611,6 +612,9 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -610,6 +611,9 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	if (beacon) {
  		struct mt7996_phy *phy = mphy->priv;
  
@@ -90,7 +90,7 @@
  		/* odd index for driver, even index for firmware */
  		idx = MT7996_BEACON_RATES_TBL + 2 * phy->mt76->band_idx;
  		if (phy->beacon_rate != rate)
-@@ -738,6 +742,10 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -737,6 +741,10 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	u8 band_idx = mvif->phy->mt76->band_idx;
  	int ret, idx;
  
@@ -101,7 +101,7 @@
  	idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7996_WTBL_STA);
  	if (idx < 0)
  		return -ENOSPC;
-@@ -763,7 +771,28 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -762,7 +770,28 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	if (ret)
  		return ret;
  
@@ -132,7 +132,7 @@
  
  void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index baf71b0a..bfedfa3a 100644
+index f46afbe..1ec4229 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1362,6 +1362,10 @@ mt7996_mcu_sta_vht_tlv(struct sk_buff *skb, struct ieee80211_sta *sta)
@@ -204,7 +204,7 @@
  		if (val < 0 || val > 15) {
  			printk("Wrong value! The value is between 0-15.\n");
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index a98b174e..2546354e 100644
+index a98b174..2546354 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -755,6 +755,8 @@ enum {
@@ -240,7 +240,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ed998c0e..a81e275d 100644
+index ed998c0..a81e275 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -363,6 +363,7 @@ struct mt7996_phy {
@@ -292,7 +292,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 68650623..30da79f4 100644
+index 6865062..30da79f 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -982,4 +982,210 @@ int mt7996_mcu_set_bypass_smthint(struct mt7996_phy *phy, u8 val)
@@ -507,7 +507,7 @@
 +
  #endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index d9686ebb..7a4140b5 100644
+index d9686eb..7a4140b 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -122,14 +122,15 @@ enum {
@@ -712,7 +712,7 @@
  
  #endif
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 0d6fa779..7ab64471 100644
+index 0d6fa77..7ab6447 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -10,10 +10,31 @@
@@ -1012,7 +1012,7 @@
  }
 +#endif
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 8aaa18ee..2ee1339a 100644
+index 8aaa18e..2ee1339 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -3,8 +3,12 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0038-mtk-mt76-mt7996-add-testmode-bf-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0038-mtk-mt76-mt7996-add-testmode-bf-support.patch
index 189f568..711a1ed 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0038-mtk-mt76-mt7996-add-testmode-bf-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0038-mtk-mt76-mt7996-add-testmode-bf-support.patch
@@ -1,7 +1,7 @@
-From 9cbfa34669e0afeabd5b880c3421258540f66356 Mon Sep 17 00:00:00 2001
+From bf108e5c1101d5ac7ebb67f793c54d2cfa997436 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 6 Apr 2023 16:40:28 +0800
-Subject: [PATCH 038/223] mtk: mt76: mt7996: add testmode bf support
+Subject: [PATCH 038/193] mtk: mt76: mt7996: add testmode bf support
 
 Add iTest additional bf command
 
@@ -37,7 +37,7 @@
  14 files changed, 1590 insertions(+), 61 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 2805d758..7beefc59 100644
+index 2805d75..7beefc5 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -774,6 +774,11 @@ struct mt76_testmode_data {
@@ -53,7 +53,7 @@
  	bool ebf;
  
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index dd63d4a0..db152167 100644
+index dd63d4a..db15216 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -493,7 +493,8 @@ struct sta_rec_bf {
@@ -75,7 +75,7 @@
  	MCU_UNI_CMD_PRECAL_RESULT = 0x47,
  	MCU_UNI_CMD_RRO = 0x57,
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index bfedfa3a..c0bd2d13 100644
+index 1ec4229..cf7b200 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1083,7 +1083,12 @@ mt7996_mcu_bss_basic_tlv(struct sk_buff *skb,
@@ -101,7 +101,7 @@
  	struct sk_buff *skb;
  	struct tlv *tlv;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 2546354e..c6bb93b3 100644
+index 2546354..c6bb93b 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -685,6 +685,22 @@ struct bf_sounding_on {
@@ -172,7 +172,7 @@
  	CMD_BAND_NONE,
  	CMD_BAND_24G,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index a81e275d..32a0ffd8 100644
+index a81e275..32a0ffd 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -499,6 +499,14 @@ struct mt7996_dev {
@@ -213,7 +213,7 @@
 +
  #endif
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 1c4e2c90..a59e3a18 100644
+index 1c4e2c9..a59e3a1 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2916,7 +2916,7 @@ mt7996_starec_bf_read_set(void *data, u64 wlan_idx)
@@ -244,7 +244,7 @@
  DEFINE_DEBUGFS_ATTRIBUTE(fops_bf_pfmu_tag_read, NULL,
  			 mt7996_bf_pfmu_tag_read_set, "%lld\n");
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 30da79f4..b46a66bb 100644
+index 30da79f..b46a66b 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -295,7 +295,7 @@ __mt7996_mcu_add_uni_tlv(struct sk_buff *skb, u16 tag, u16 len)
@@ -434,7 +434,7 @@
  		dev_info(dev->mt76.dev, "%s: unknown bf event tag %d\n",
  			 __func__, event->tag);
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 7a4140b5..58d61c51 100644
+index 7a4140b..58d61c5 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -189,6 +189,165 @@ struct bf_txsnd_info {
@@ -900,7 +900,7 @@
  	__le16 wlan_idx0;
  	__le16 wlan_idx1;
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index 539e799c..f55d4a94 100644
+index 539e799..f55d4a9 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -326,6 +326,9 @@ enum offs_rev {
@@ -914,7 +914,7 @@
  #define MT_WF_RMAC_BASE(_band)			__BASE(WF_RMAC_BASE, (_band))
  #define MT_WF_RMAC(_band, ofs)			(MT_WF_RMAC_BASE(_band) + (ofs))
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index c4874eb3..bace3afe 100644
+index c4874eb..bace3af 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -23,6 +23,10 @@ enum {
@@ -1830,7 +1830,7 @@
  
  static int
 diff --git a/mt7996/testmode.h b/mt7996/testmode.h
-index 78662b2e..f97ccb26 100644
+index 78662b2..f97ccb2 100644
 --- a/mt7996/testmode.h
 +++ b/mt7996/testmode.h
 @@ -27,6 +27,17 @@ enum {
@@ -1873,7 +1873,7 @@
  	__le32 func_data;
  	u8 band_idx;
 diff --git a/testmode.c b/testmode.c
-index 69147f86..9a7559bf 100644
+index 69147f8..9a7559b 100644
 --- a/testmode.c
 +++ b/testmode.c
 @@ -462,6 +462,44 @@ out:
@@ -1953,7 +1953,7 @@
  		err = dev->test_ops->set_params(phy, tb, state);
  		if (err)
 diff --git a/testmode.h b/testmode.h
-index 6d79832a..794a74f9 100644
+index 6d79832..794a74f 100644
 --- a/testmode.h
 +++ b/testmode.h
 @@ -286,4 +286,57 @@ enum mt76_testmode_eeprom_action {
@@ -2015,7 +2015,7 @@
 +
  #endif
 diff --git a/tools/fields.c b/tools/fields.c
-index 77696ce7..f793d1a5 100644
+index 77696ce..f793d1a 100644
 --- a/tools/fields.c
 +++ b/tools/fields.c
 @@ -44,6 +44,30 @@ static const char * const testmode_offchan_bw[] = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0039-mtk-mt76-mt7996-add-zwdfs-cert-mode.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0039-mtk-mt76-mt7996-add-zwdfs-cert-mode.patch
index 7e6ac6a..34d3fac 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0039-mtk-mt76-mt7996-add-zwdfs-cert-mode.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0039-mtk-mt76-mt7996-add-zwdfs-cert-mode.patch
@@ -1,7 +1,7 @@
-From fe038594fb92fae539bf05f86022953810e4e1e6 Mon Sep 17 00:00:00 2001
+From 3d569a8df7ab86ada17a30c6e3a969441ff87a1e Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 22 Sep 2023 12:33:06 +0800
-Subject: [PATCH 039/223] mtk: mt76: mt7996: add zwdfs cert mode
+Subject: [PATCH 039/193] mtk: mt76: mt7996: add zwdfs cert mode
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -13,7 +13,7 @@
  5 files changed, 100 insertions(+), 12 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index c0bd2d13..9e548100 100644
+index cf7b200..b6de1b5 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -4532,18 +4532,7 @@ int mt7996_mcu_set_radio_en(struct mt7996_phy *phy, bool enable)
@@ -75,7 +75,7 @@
  				     struct ieee80211_vif *vif,
  				     struct ieee80211_sta *sta)
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index c6bb93b3..3025f849 100644
+index c6bb93b..3025f84 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -119,6 +119,20 @@ struct mt7996_mcu_rdd_report {
@@ -100,7 +100,7 @@
  	u8 _rsv[4];
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 32a0ffd8..e406dc87 100644
+index 32a0ffd..e406dc8 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -536,8 +536,11 @@ enum mt7996_rdd_cmd {
@@ -125,7 +125,7 @@
  				     struct cfg80211_chan_def *chandef);
  int mt7996_mcu_set_fixed_rate_table(struct mt7996_phy *phy, u8 table_idx,
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 7ab64471..ba00ef35 100644
+index 7ab6447..ba00ef3 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -108,6 +108,11 @@ rfeature_ctrl_policy[NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL] = {
@@ -187,7 +187,7 @@
  
  void mt7996_vendor_register(struct mt7996_phy *phy)
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 2ee1339a..7c812f91 100644
+index 2ee1339..7c812f9 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -14,6 +14,7 @@ enum mtk_nl80211_vendor_subcmds {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0040-mtk-mt76-mt7996-add-channel-68-96.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0040-mtk-mt76-mt7996-add-channel-68-96.patch
index a97824b..4814f75 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0040-mtk-mt76-mt7996-add-channel-68-96.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0040-mtk-mt76-mt7996-add-channel-68-96.patch
@@ -1,7 +1,7 @@
-From 1836ddf781e91b41f66a1add7110bd24d133817c Mon Sep 17 00:00:00 2001
+From 6283692520dc79dd09e9300835b5b5b1aef78bd2 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 11 Sep 2023 14:43:07 +0800
-Subject: [PATCH 040/223] mtk: mt76: mt7996: add channel 68 & 96
+Subject: [PATCH 040/193] mtk: mt76: mt7996: add channel 68 & 96
 
 ---
  mac80211.c        |  9 +++++++++
@@ -13,7 +13,7 @@
  6 files changed, 82 insertions(+), 9 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index 1d2477d6..ee5aa608 100644
+index 1d2477d..ee5aa60 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -34,6 +34,15 @@ static const struct ieee80211_channel mt76_channels_5ghz[] = {
@@ -33,7 +33,7 @@
  	CHAN5G(104, 5520),
  	CHAN5G(108, 5540),
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index da30be33..b71961d9 100644
+index da30be3..b71961d 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -18,6 +18,17 @@ const struct ieee80211_channel dpd_2g_ch_list_bw20[] = {
@@ -114,7 +114,7 @@
  {
  	struct mt76_dev *mdev = &dev->mt76;
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index e90180a0..782d847b 100644
+index e90180a..782d847 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -67,6 +67,8 @@ enum mt7996_eeprom_field {
@@ -127,7 +127,7 @@
  extern const u32 dpd_5g_bw160_ch_num;
  extern const struct ieee80211_channel dpd_6g_ch_list_bw160[];
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 9e548100..54a84966 100644
+index b6de1b5..7c96e40 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3802,7 +3802,8 @@ int mt7996_mcu_apply_tx_dpd(struct mt7996_phy *phy)
@@ -162,7 +162,7 @@
  
  	for (i = 0; i < per_chan_size / MT_EE_CAL_UNIT; i++) {
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index bace3afe..6de49afc 100644
+index bace3af..6de49af 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -537,6 +537,11 @@ mt7996_tm_dpd_prek_send_req(struct mt7996_phy *phy, struct mt7996_tm_req *req,
@@ -216,7 +216,7 @@
  
  	return first_control + offset;
 diff --git a/mt7996/testmode.h b/mt7996/testmode.h
-index f97ccb26..ba1767ae 100644
+index f97ccb2..ba1767a 100644
 --- a/mt7996/testmode.h
 +++ b/mt7996/testmode.h
 @@ -38,9 +38,9 @@ enum {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0041-mtk-mt76-mt7996-add-kite-testmode-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0041-mtk-mt76-mt7996-add-kite-testmode-support.patch
index 88296a5..cbf5c32 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0041-mtk-mt76-mt7996-add-kite-testmode-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0041-mtk-mt76-mt7996-add-kite-testmode-support.patch
@@ -1,7 +1,7 @@
-From fa32fd17aed1561a48cff42344e06d5ebf5a736d Mon Sep 17 00:00:00 2001
+From 35af00d6cef6831fbaadf26a441df5902dfcca7b Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 12 Oct 2023 16:17:33 +0800
-Subject: [PATCH 041/223] mtk: mt76: mt7996: add kite testmode support
+Subject: [PATCH 041/193] mtk: mt76: mt7996: add kite testmode support
 
 Add Kite testmode support
 1. avoid entering connac 2 testmode flow in kite
@@ -18,7 +18,7 @@
  6 files changed, 202 insertions(+), 122 deletions(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index b71961d9..7575dcb9 100644
+index b71961d..7575dcb 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -29,12 +29,39 @@ const struct ieee80211_channel dpd_5g_skip_ch_list[] = {
@@ -112,7 +112,7 @@
  mt7996_eeprom_check_or_use_default(struct mt7996_dev *dev, bool use_default)
  {
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index 782d847b..c3c248ca 100644
+index 782d847..c3c248c 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -45,36 +45,69 @@ enum mt7996_eeprom_field {
@@ -210,7 +210,7 @@
  #define RF_DPD_FLAT_CAL				BIT(28)
  #define RF_PRE_CAL				BIT(29)
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 54a84966..87322283 100644
+index 7c96e40..0226139 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3771,13 +3771,11 @@ int mt7996_mcu_apply_tx_dpd(struct mt7996_phy *phy)
@@ -317,7 +317,7 @@
  	cal += MT_EE_CAL_GROUP_SIZE + base_offset + idx * per_chan_size;
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index e406dc87..981f496e 100644
+index e406dc8..981f496 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -203,6 +203,19 @@ struct mt7996_twt_flow {
@@ -360,7 +360,7 @@
  void mt7996_dma_reset(struct mt7996_dev *dev, bool force);
  void mt7996_dma_prefetch(struct mt7996_dev *dev);
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 6de49afc..5c0eb3cb 100644
+index 6de49af..5c0eb3c 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -440,7 +440,7 @@ mt7996_tm_set_tx_cont(struct mt7996_phy *phy, bool en)
@@ -550,7 +550,7 @@
  	cal_idx = le32_to_cpu(data->cal_idx);
  	cal_type = le32_to_cpu(data->cal_type);
 diff --git a/testmode.c b/testmode.c
-index 9a7559bf..a1744755 100644
+index 9a7559b..a174475 100644
 --- a/testmode.c
 +++ b/testmode.c
 @@ -37,6 +37,11 @@ const struct nla_policy mt76_tm_policy[NUM_MT76_TM_ATTRS] = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0042-mtk-mt76-mt7996-assign-DEAUTH-to-ALTX-queue-for-CERT.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0042-mtk-mt76-mt7996-assign-DEAUTH-to-ALTX-queue-for-CERT.patch
index 7c54397..870b3cc 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0042-mtk-mt76-mt7996-assign-DEAUTH-to-ALTX-queue-for-CERT.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0042-mtk-mt76-mt7996-assign-DEAUTH-to-ALTX-queue-for-CERT.patch
@@ -1,7 +1,7 @@
-From 86493d14f89cf1c6916bdac4fe2ecfc1b20c84e6 Mon Sep 17 00:00:00 2001
+From 299832187200587a197df3dc644c16ed83c4dd37 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Tue, 14 Nov 2023 11:27:06 +0800
-Subject: [PATCH 042/223] mtk: mt76: mt7996: assign DEAUTH to ALTX queue for
+Subject: [PATCH 042/193] mtk: mt76: mt7996: assign DEAUTH to ALTX queue for
  CERT
 
 Signed-off-by: Michael-CY Lee <michael-cy.lee@mediatek.com>
@@ -10,7 +10,7 @@
  1 file changed, 10 insertions(+)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 484f91aa..f78591ff 100644
+index 484f91a..f78591f 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -759,6 +759,8 @@ static void
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0043-mtk-mt76-mt7996-add-no_beacon-vendor-command-for-cer.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0043-mtk-mt76-mt7996-add-no_beacon-vendor-command-for-cer.patch
index 3197335..6d6d086 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0043-mtk-mt76-mt7996-add-no_beacon-vendor-command-for-cer.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0043-mtk-mt76-mt7996-add-no_beacon-vendor-command-for-cer.patch
@@ -1,7 +1,7 @@
-From d75372c3491e32a67af73ce130cd36f03af82d51 Mon Sep 17 00:00:00 2001
+From 241f99ad85a20ef4a8a1c46203e853f14e62908c Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Wed, 22 Nov 2023 22:42:09 +0800
-Subject: [PATCH 043/223] mtk: mt76: mt7996: add no_beacon vendor command for
+Subject: [PATCH 043/193] mtk: mt76: mt7996: add no_beacon vendor command for
  cert
 
 Add the vendor command to disable/enable beacon
@@ -22,7 +22,7 @@
  4 files changed, 65 insertions(+)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 87322283..9431f878 100644
+index 0226139..5352e4b 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5136,4 +5136,15 @@ void mt7996_set_wireless_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
@@ -42,7 +42,7 @@
 +}
  #endif
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 981f496e..f6e7fbdd 100644
+index 981f496..f6e7fbd 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -866,6 +866,7 @@ void mt7996_set_wireless_amsdu(struct ieee80211_hw *hw, u8 en);
@@ -54,7 +54,7 @@
  
  int mt7996_mcu_edcca_enable(struct mt7996_phy *phy, bool enable);
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index ba00ef35..31688c37 100644
+index ba00ef3..31688c3 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -113,6 +113,11 @@ background_radar_ctrl_policy[NUM_MTK_VENDOR_ATTRS_BACKGROUND_RADAR_CTRL] = {
@@ -120,7 +120,7 @@
  
  void mt7996_vendor_register(struct mt7996_phy *phy)
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 7c812f91..0d1ef322 100644
+index 7c812f9..0d1ef32 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -16,6 +16,7 @@ enum mtk_nl80211_vendor_subcmds {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0044-mtk-mt76-mt7996-add-adie-efuse-merge-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0044-mtk-mt76-mt7996-add-adie-efuse-merge-support.patch
index 099e068..a7c8a13 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0044-mtk-mt76-mt7996-add-adie-efuse-merge-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0044-mtk-mt76-mt7996-add-adie-efuse-merge-support.patch
@@ -1,7 +1,7 @@
-From 031841be718eb6736dec9c52744664433ed2a34e Mon Sep 17 00:00:00 2001
+From db6abcb6c3265d02b66b7b7cf68431493c0aad3d Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 24 Nov 2023 09:49:08 +0800
-Subject: [PATCH 044/223] mtk: mt76: mt7996: add adie efuse merge support
+Subject: [PATCH 044/193] mtk: mt76: mt7996: add adie efuse merge support
 
 Merge adie-dependent parameters in efuse into eeprom after FT.
 Note that Eagle BE14000 is not considered yet.
@@ -17,7 +17,7 @@
  4 files changed, 193 insertions(+), 4 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 1f4bad62..70a97d29 100644
+index 1f4bad6..70a97d2 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -881,6 +881,46 @@ DEFINE_DEBUGFS_ATTRIBUTE(fops_fw_debug_muru_disable,
@@ -76,7 +76,7 @@
  	if (phy->mt76->cap.has_5ghz) {
  		debugfs_create_u32("dfs_hw_pattern", 0400, dir,
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 7575dcb9..be87afe8 100644
+index 7575dcb..be87afe 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -546,6 +546,146 @@ static int mt7996_eeprom_load_precal(struct mt7996_dev *dev)
@@ -238,10 +238,10 @@
  	if (ret < 0)
  		return ret;
 diff --git a/mt7996/main.c b/mt7996/main.c
-index dc00cc2f..ea4679dd 100644
+index dd9f2ca..9376d69 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1485,10 +1485,10 @@ mt7996_background_radar_handle_7975_ifem(struct ieee80211_hw *hw,
+@@ -1484,10 +1484,10 @@ mt7996_background_radar_handle_7975_ifem(struct ieee80211_hw *hw,
  	switch (mt76_chip(&dev->mt76)) {
  	case 0x7990:
  		is_ifem_adie = dev->fem_type == MT7996_FEM_INT &&
@@ -255,7 +255,7 @@
  		break;
  	default:
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 5c0eb3cb..5a8b6d0a 100644
+index 5c0eb3c..5a8b6d0 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -2128,8 +2128,12 @@ mt7996_tm_write_back_to_efuse(struct mt7996_dev *dev)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0045-mtk-mt76-mt7996-add-Eagle-2adie-TBTC-BE14000-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0045-mtk-mt76-mt7996-add-Eagle-2adie-TBTC-BE14000-support.patch
index 1cebf18..1ff381f 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0045-mtk-mt76-mt7996-add-Eagle-2adie-TBTC-BE14000-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0045-mtk-mt76-mt7996-add-Eagle-2adie-TBTC-BE14000-support.patch
@@ -1,7 +1,7 @@
-From 9c8447672f6bb36113eccf7064f91b11ea980825 Mon Sep 17 00:00:00 2001
+From 46b4b28600e525461c25bd667d947a0383049c70 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Tue, 5 Dec 2023 16:48:33 +0800
-Subject: [PATCH 045/223] mtk: mt76: mt7996: add Eagle 2adie TBTC (BE14000)
+Subject: [PATCH 045/193] mtk: mt76: mt7996: add Eagle 2adie TBTC (BE14000)
  support
 
 Add fwdl/default eeprom load support for Eagle 2 adie TBTC
@@ -18,7 +18,7 @@
  3 files changed, 17 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index be87afe8..f1c29e8d 100644
+index be87afe..f1c29e8 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -500,6 +500,8 @@ static void mt7996_eeprom_init_precal(struct mt7996_dev *dev)
@@ -49,7 +49,7 @@
  			eep_offs[1] = eep_offs_list[ADIE_7977];
  		}
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index c3c248ca..788c33c8 100644
+index c3c248c..788c33c 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -70,6 +70,18 @@ static const u32 mt7996_prek_rev[] = {
@@ -72,7 +72,7 @@
  static const u32 mt7992_prek_rev[] = {
  	[GROUP_SIZE_2G] =			4 * MT_EE_CAL_UNIT,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index f6e7fbdd..81639a45 100644
+index f6e7fbd..81639a4 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -38,6 +38,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0046-mtk-mt76-mt7996-add-background-radar-hw-cap-check.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0046-mtk-mt76-mt7996-add-background-radar-hw-cap-check.patch
index 7809621..43504c3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0046-mtk-mt76-mt7996-add-background-radar-hw-cap-check.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0046-mtk-mt76-mt7996-add-background-radar-hw-cap-check.patch
@@ -1,7 +1,7 @@
-From 4a0688cf495714841635247e4859335402f3118f Mon Sep 17 00:00:00 2001
+From 47bd3ed95c21e49cc0c9e34daacdbd3c07ddda49 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 22 Dec 2023 17:27:10 +0800
-Subject: [PATCH 046/223] mtk: mt76: mt7996: add background radar hw cap check
+Subject: [PATCH 046/193] mtk: mt76: mt7996: add background radar hw cap check
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -10,7 +10,7 @@
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 70a97d29..07970e1a 100644
+index 70a97d2..07970e1 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -262,6 +262,11 @@ mt7996_rdd_monitor(struct seq_file *s, void *data)
@@ -26,7 +26,7 @@
  		ret = -EINVAL;
  		goto out;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 81639a45..142c390d 100644
+index 81639a4..142c390 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -619,7 +619,8 @@ mt7996_has_background_radar(struct mt7996_dev *dev)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0047-mtk-mt76-mt7996-add-fallback-in-case-of-missing-prec.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0047-mtk-mt76-mt7996-add-fallback-in-case-of-missing-prec.patch
index 0b7ad11..06b7938 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0047-mtk-mt76-mt7996-add-fallback-in-case-of-missing-prec.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0047-mtk-mt76-mt7996-add-fallback-in-case-of-missing-prec.patch
@@ -1,7 +1,7 @@
-From f516af1b0691dcf72ad4a38ce5e6c06cb94ed9be Mon Sep 17 00:00:00 2001
+From 478bf79875d21c0eac4b2c8e2e78fb951f9e80ab Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Tue, 19 Mar 2024 17:33:49 +0800
-Subject: [PATCH 047/223] mtk: mt76: mt7996: add fallback in case of missing
+Subject: [PATCH 047/193] mtk: mt76: mt7996: add fallback in case of missing
  precal data
 
 Align Wi-Fi 6 upstream changes
@@ -15,7 +15,7 @@
  3 files changed, 22 insertions(+), 8 deletions(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index f1c29e8d..3ec146d0 100644
+index f1c29e8..3ec146d 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -535,17 +535,31 @@ static int mt7996_eeprom_load_precal(struct mt7996_dev *dev)
@@ -57,10 +57,10 @@
  
  static int mt7996_apply_cal_free_data(struct mt7996_dev *dev)
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 3421326a..eac00df0 100644
+index 92d4d6f..849a639 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1021,7 +1021,7 @@ static int mt7996_init_hardware(struct mt7996_dev *dev)
+@@ -1018,7 +1018,7 @@ static int mt7996_init_hardware(struct mt7996_dev *dev)
  	if (ret < 0)
  		return ret;
  
@@ -70,7 +70,7 @@
  		if (ret)
  			return ret;
 diff --git a/mt7996/main.c b/mt7996/main.c
-index ea4679dd..f02f447e 100644
+index 9376d69..2721491 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -338,7 +338,7 @@ int mt7996_set_channel(struct mt76_phy *mphy)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0048-mtk-mt76-mt7996-add-kite-part-number-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0048-mtk-mt76-mt7996-add-kite-part-number-support.patch
index d349a87..00fc917 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0048-mtk-mt76-mt7996-add-kite-part-number-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0048-mtk-mt76-mt7996-add-kite-part-number-support.patch
@@ -1,7 +1,7 @@
-From 7251f2a0f7d1f5eda27611ff658328c2fe8edbf1 Mon Sep 17 00:00:00 2001
+From d3156a994fbd6a37ab1c2b7244f09c22afea4dca Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 27 Mar 2024 17:50:16 +0800
-Subject: [PATCH 048/223] mtk: mt76: mt7996: add kite part number support
+Subject: [PATCH 048/193] mtk: mt76: mt7996: add kite part number support
 
 Change-Id: Ib06648398f18b47c324e18b476a57444d929608f
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -10,7 +10,7 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 3ec146d0..f9bd4d91 100644
+index 3ec146d..f9bd4d9 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -372,7 +372,6 @@ static int mt7996_eeprom_parse_efuse_hw_cap(struct mt7996_phy *phy,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0049-mtk-wifi-mt76-revert-page_poll-for-kernel-5.4.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0049-mtk-wifi-mt76-revert-page_poll-for-kernel-5.4.patch
index 49c9419..1ab4f9c 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0049-mtk-wifi-mt76-revert-page_poll-for-kernel-5.4.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0049-mtk-wifi-mt76-revert-page_poll-for-kernel-5.4.patch
@@ -1,7 +1,7 @@
-From 4389fa86ef5bed621b9ced29ca66351819397575 Mon Sep 17 00:00:00 2001
+From 4e83eb94571d55b53a8e3b457e5012199603f749 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Mon, 6 Feb 2023 19:49:22 +0800
-Subject: [PATCH 049/223] mtk: wifi: mt76: revert page_poll for kernel 5.4
+Subject: [PATCH 049/193] mtk: wifi: mt76: revert page_poll for kernel 5.4
 
 This reverts commit e8c10835cf062c577ddf426913788c39d30b4bd7.
 
@@ -16,7 +16,7 @@
  6 files changed, 104 insertions(+), 168 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index 66c000ef..33a84f5f 100644
+index 66c000e..33a84f5 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -178,7 +178,7 @@ mt76_free_pending_rxwi(struct mt76_dev *dev)
@@ -205,7 +205,7 @@
  
  	if (mtk_wed_device_active(&dev->mmio.wed))
 diff --git a/mac80211.c b/mac80211.c
-index ee5aa608..78e9a1ae 100644
+index ee5aa60..78e9a1a 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -566,47 +566,6 @@ void mt76_unregister_phy(struct mt76_phy *phy)
@@ -279,7 +279,7 @@
  {
  	struct ieee80211_hw *hw = phy->hw;
 diff --git a/mt76.h b/mt76.h
-index 7beefc59..e06d5aaa 100644
+index 7beefc5..e06d5aa 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -252,7 +252,7 @@ struct mt76_queue {
@@ -326,10 +326,10 @@
  static inline void mt76_set_tx_blocked(struct mt76_dev *dev, bool blocked)
  {
 diff --git a/mt7915/main.c b/mt7915/main.c
-index d18ea5d4..8cb09d1b 100644
+index d11a917..9ff3aab 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -1421,22 +1421,19 @@ void mt7915_get_et_strings(struct ieee80211_hw *hw,
+@@ -1423,22 +1423,19 @@ void mt7915_get_et_strings(struct ieee80211_hw *hw,
  			   struct ieee80211_vif *vif,
  			   u32 sset, u8 *data)
  {
@@ -358,7 +358,7 @@
  }
  
  static void mt7915_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
-@@ -1464,7 +1461,7 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
+@@ -1466,7 +1463,7 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
  		.idx = mvif->mt76.idx,
  	};
  	/* See mt7915_ampdu_stat_read_phy, etc */
@@ -367,7 +367,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -1576,12 +1573,9 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
+@@ -1578,12 +1575,9 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
  		return;
  
  	ei += wi.worker_stat_count;
@@ -384,7 +384,7 @@
  
  static void
 diff --git a/usb.c b/usb.c
-index f9e67b8c..47e43fdb 100644
+index f9e67b8..47e43fd 100644
 --- a/usb.c
 +++ b/usb.c
 @@ -318,27 +318,29 @@ mt76u_set_endpoints(struct usb_interface *intf,
@@ -518,7 +518,7 @@
  
  static void mt76u_free_rx(struct mt76_dev *dev)
 diff --git a/wed.c b/wed.c
-index f89e4537..8eca4d81 100644
+index f89e453..8eca4d8 100644
 --- a/wed.c
 +++ b/wed.c
 @@ -9,8 +9,12 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0050-mtk-mt76-rework-wed-rx-flow.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0050-mtk-mt76-rework-wed-rx-flow.patch
index 051af09..576de10 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0050-mtk-mt76-rework-wed-rx-flow.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0050-mtk-mt76-rework-wed-rx-flow.patch
@@ -1,7 +1,7 @@
-From c21fcd823cc877e39068a92ffa440b7ad7f4bb45 Mon Sep 17 00:00:00 2001
+From 893dc09b18642a3dea75a841b8be9ed8f3a9993d Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Mon, 6 Feb 2023 13:37:23 +0800
-Subject: [PATCH 050/223] mtk: mt76: rework wed rx flow
+Subject: [PATCH 050/193] mtk: mt76: rework wed rx flow
 
 Change-Id: Icd787345c811cb5ad30d9c7c1c5f9e5298bd3be6
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
@@ -16,7 +16,7 @@
  7 files changed, 144 insertions(+), 85 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index 33a84f5f..c54187bd 100644
+index 33a84f5..c54187b 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -64,17 +64,17 @@ mt76_alloc_txwi(struct mt76_dev *dev)
@@ -260,7 +260,7 @@
  					 DMA_FROM_DEVICE);
  			skb_free_frag(buf);
 diff --git a/mac80211.c b/mac80211.c
-index 78e9a1ae..b08a9388 100644
+index 78e9a1a..b08a938 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -596,7 +596,6 @@ mt76_alloc_device(struct device *pdev, unsigned int size,
@@ -280,7 +280,7 @@
  	for (i = 0; i < ARRAY_SIZE(dev->q_rx); i++)
  		skb_queue_head_init(&dev->rx_skb[i]);
 diff --git a/mt76.h b/mt76.h
-index e06d5aaa..260e198a 100644
+index e06d5aa..260e198 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -206,6 +206,7 @@ struct mt76_queue_entry {
@@ -353,7 +353,7 @@
  static inline void mt76_set_tx_blocked(struct mt76_dev *dev, bool blocked)
  {
 diff --git a/mt7915/mmio.c b/mt7915/mmio.c
-index 44e112b8..9741e1d2 100644
+index 44e112b..9741e1d 100644
 --- a/mt7915/mmio.c
 +++ b/mt7915/mmio.c
 @@ -714,7 +714,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
@@ -374,7 +374,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 ac0b1f0e..bcfec0b0 100644
+index ac0b1f0..bcfec0b 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
 @@ -62,6 +62,7 @@
@@ -386,7 +386,7 @@
  #define MT7915_CFEND_RATE_DEFAULT	0x49	/* OFDM 24M */
  #define MT7915_CFEND_RATE_11B		0x03	/* 11B LP, 11M */
 diff --git a/tx.c b/tx.c
-index 2634c5bc..5734979f 100644
+index c24729d..5aa37f4 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -869,16 +869,16 @@ int mt76_token_consume(struct mt76_dev *dev, struct mt76_txwi_cache **ptxwi)
@@ -431,7 +431,7 @@
  }
  EXPORT_SYMBOL_GPL(mt76_rx_token_release);
 diff --git a/wed.c b/wed.c
-index 8eca4d81..0a0b5c05 100644
+index 8eca4d8..0a0b5c0 100644
 --- a/wed.c
 +++ b/wed.c
 @@ -9,28 +9,45 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0051-mtk-mt76-change-wed-token-init-size-to-adapt-wed3.0.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0051-mtk-mt76-change-wed-token-init-size-to-adapt-wed3.0.patch
index 3466f9a..88bda6a 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0051-mtk-mt76-change-wed-token-init-size-to-adapt-wed3.0.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0051-mtk-mt76-change-wed-token-init-size-to-adapt-wed3.0.patch
@@ -1,7 +1,7 @@
-From f0d346f6709ddea1982ee44a69ee2c3da0d86b75 Mon Sep 17 00:00:00 2001
+From 83d2457a3c9498a8ed18e36978b16d0ddf159863 Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Wed, 19 Apr 2023 17:13:41 +0800
-Subject: [PATCH 051/223] mtk: mt76: change wed token init size to adapt wed3.0
+Subject: [PATCH 051/193] mtk: mt76: change wed token init size to adapt wed3.0
 
 Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
 ---
@@ -9,7 +9,7 @@
  1 file changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/tx.c b/tx.c
-index 5734979f..a78ab2c8 100644
+index 5aa37f4..330b8d3 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -845,12 +845,16 @@ EXPORT_SYMBOL_GPL(__mt76_set_tx_blocked);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0052-mtk-mt76-add-random-early-drop-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0052-mtk-mt76-add-random-early-drop-support.patch
index 891c45a..412832d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0052-mtk-mt76-add-random-early-drop-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0052-mtk-mt76-add-random-early-drop-support.patch
@@ -1,7 +1,7 @@
-From 7a0d06e95d36c4d9f0b7bb8ae2adac2e2c7ec831 Mon Sep 17 00:00:00 2001
+From 69731e6ec3e3e8dfcd5c21efea149598812f5a53 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 19 Apr 2023 18:32:41 +0800
-Subject: [PATCH 052/223] mtk: mt76: add random early drop support
+Subject: [PATCH 052/193] mtk: mt76: add random early drop support
 
 ---
  mt7996/debugfs.c     |  1 +
@@ -15,7 +15,7 @@
  8 files changed, 167 insertions(+), 4 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 07970e1a..e328a056 100644
+index 07970e1..e328a05 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -633,6 +633,7 @@ mt7996_tx_stats_show(struct seq_file *file, void *data)
@@ -27,7 +27,7 @@
  	mt7996_txbf_stat_read_phy(phy, file);
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index f78591ff..1c0c2796 100644
+index f78591f..1c0c279 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1191,6 +1191,13 @@ mt7996_mac_tx_free(struct mt7996_dev *dev, void *data, int len)
@@ -45,7 +45,7 @@
  		}
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 9431f878..70e1984a 100644
+index 5352e4b..d35ae05 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3157,8 +3157,8 @@ int mt7996_mcu_init_firmware(struct mt7996_dev *dev)
@@ -144,7 +144,7 @@
  {
  	struct {
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 3025f849..23db3b33 100644
+index 3025f84..23db3b3 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -346,8 +346,9 @@ enum {
@@ -167,7 +167,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 142c390d..8d222a0c 100644
+index 142c390..8d222a0 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -356,6 +356,7 @@ struct mt7996_phy {
@@ -201,7 +201,7 @@
 -
  #endif
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index a59e3a18..c1671e68 100644
+index a59e3a1..c1671e6 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -3032,6 +3032,27 @@ static int mt7996_muru_prot_thr_set(void *data, u64 val)
@@ -242,7 +242,7 @@
  	debugfs_create_u8("sku_disable", 0600, dir, &dev->dbg.sku_disable);
  	debugfs_create_file("scs_enable", 0200, dir, phy, &fops_scs_enable);
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index b46a66bb..967ee874 100644
+index b46a66b..967ee87 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -1317,4 +1317,30 @@ void mt7996_mcu_set_cert(struct mt7996_phy *phy, u8 type)
@@ -277,7 +277,7 @@
 +
  #endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 58d61c51..2cffc893 100644
+index 58d61c5..2cffc89 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -1138,6 +1138,30 @@ enum muru_vendor_ctrl {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0053-mtk-mt76-mt7996-reset-addr_elem-when-delete-ba.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0053-mtk-mt76-mt7996-reset-addr_elem-when-delete-ba.patch
index ac96abf..f8e7239 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0053-mtk-mt76-mt7996-reset-addr_elem-when-delete-ba.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0053-mtk-mt76-mt7996-reset-addr_elem-when-delete-ba.patch
@@ -1,7 +1,7 @@
-From 82dd1101ce064f18bdcc47c7ef5779c407440bae Mon Sep 17 00:00:00 2001
+From 634fcdf1df68bdcd81f659db237e64703c246a9a Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Thu, 18 May 2023 15:01:47 +0800
-Subject: [PATCH 053/223] mtk: mt76: mt7996: reset addr_elem when delete ba
+Subject: [PATCH 053/193] mtk: mt76: mt7996: reset addr_elem when delete ba
 
 The old addr element info may be used when the signature is not equel to
 0xff, and sta will find error SDP cause the SDP/SDL=0 issue.
@@ -20,7 +20,7 @@
  2 files changed, 47 insertions(+)
 
 diff --git a/mt76.h b/mt76.h
-index 260e198a..2798f9e5 100644
+index 260e198..2798f9e 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -453,6 +453,7 @@ struct mt76_rx_tid {
@@ -32,7 +32,7 @@
  	u8 started:1, stopped:1, timer_pending:1;
  
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 23db3b33..7077a664 100644
+index 23db3b3..7077a66 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -298,6 +298,52 @@ struct mt7996_mcu_thermal_notify {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0054-mtk-mt76-change-pcie0-R5-to-pcie1-to-get-6G-ICS.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0054-mtk-mt76-change-pcie0-R5-to-pcie1-to-get-6G-ICS.patch
index 599e161..67f2ea0 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0054-mtk-mt76-change-pcie0-R5-to-pcie1-to-get-6G-ICS.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0054-mtk-mt76-change-pcie0-R5-to-pcie1-to-get-6G-ICS.patch
@@ -1,7 +1,7 @@
-From 161b4dc2bb1f3d69b57f195fbab8fc8f6dfbe2bc Mon Sep 17 00:00:00 2001
+From 9292dac05dbe9d6d0890ff7e2e99c04fbde138ff Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Fri, 6 Oct 2023 14:01:41 +0800
-Subject: [PATCH 054/223] mtk: mt76: change pcie0 R5 to pcie1 to get 6G ICS
+Subject: [PATCH 054/193] mtk: mt76: change pcie0 R5 to pcie1 to get 6G ICS
 
 Change-Id: I23a94e3e4b797b513a303b13e4c50e0a0d72bffb
 ---
@@ -11,7 +11,7 @@
  3 files changed, 10 insertions(+), 5 deletions(-)
 
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index 759a58e8..5d85e9ea 100644
+index 759a58e..5d85e9e 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -538,6 +538,10 @@ int mt7996_dma_init(struct mt7996_dev *dev)
@@ -26,10 +26,10 @@
  				       MT_RXQ_ID(MT_RXQ_BAND2),
  				       MT7996_RX_RING_SIZE,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index eac00df0..f493a373 100644
+index 849a639..fc44ab7 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -651,10 +651,8 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -648,10 +648,8 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  		goto error;
  
  	if (wed == &dev->mt76.mmio.wed_hif2 && mtk_wed_device_active(wed)) {
@@ -43,7 +43,7 @@
  
  	return 0;
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 40e45fb2..11470645 100644
+index 40e45fb..1147064 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -527,12 +527,15 @@ static void mt7996_irq_tasklet(struct tasklet_struct *t)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0055-mtk-mt76-add-SER-support-for-wed3.0.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0055-mtk-mt76-add-SER-support-for-wed3.0.patch
index 1020992..abd65ca 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0055-mtk-mt76-add-SER-support-for-wed3.0.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0055-mtk-mt76-add-SER-support-for-wed3.0.patch
@@ -1,7 +1,7 @@
-From ce0ee1b6c2ae27eb6416b6eaa0191e09170e900c Mon Sep 17 00:00:00 2001
+From 7576a40fad51c438d4b77c00a33055ecba669c63 Mon Sep 17 00:00:00 2001
 From: mtk27745 <rex.lu@mediatek.com>
 Date: Tue, 23 May 2023 12:06:29 +0800
-Subject: [PATCH 055/223] mtk: mt76: add SER support for wed3.0
+Subject: [PATCH 055/193] mtk: mt76: add SER support for wed3.0
 
 Change-Id: I2711b9dc336fca9a1ae32a8fbf27810a7e27b1e3
 ---
@@ -10,7 +10,7 @@
  2 files changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index c54187bd..e5be891c 100644
+index c54187b..e5be891 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -834,8 +834,9 @@ mt76_dma_rx_reset(struct mt76_dev *dev, enum mt76_rxq_id qid)
@@ -26,7 +26,7 @@
  		mt76_dma_rx_fill(dev, q, false);
  	}
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 11470645..55d83f1d 100644
+index 1147064..55d83f1 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -297,6 +297,7 @@ out:
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0056-mtk-mt76-find-rx-token-by-physical-address.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0056-mtk-mt76-find-rx-token-by-physical-address.patch
index 3e66d5f..7b8fcf9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0056-mtk-mt76-find-rx-token-by-physical-address.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0056-mtk-mt76-find-rx-token-by-physical-address.patch
@@ -1,7 +1,7 @@
-From a0322640da7756faf08c31cf93d69a61f766c545 Mon Sep 17 00:00:00 2001
+From 0fce899e41f4a9056720548ab96a567a193a991b Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Wed, 19 Jul 2023 10:55:09 +0800
-Subject: [PATCH 056/223] mtk: mt76: find rx token by physical address
+Subject: [PATCH 056/193] mtk: mt76: find rx token by physical address
 
 The token id in RxDMAD may be incorrect when it is not the last frame in
 WED HW. Lookup correct token id by physical address in sdp0.
@@ -14,7 +14,7 @@
  1 file changed, 25 insertions(+), 2 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index e5be891c..1021b3e5 100644
+index e5be891..1021b3e 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -446,9 +446,32 @@ mt76_dma_get_buf(struct mt76_dev *dev, struct mt76_queue *q, int idx,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0057-mtk-mt76-mt7996-add-dma-mask-limitation.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0057-mtk-mt76-mt7996-add-dma-mask-limitation.patch
index b38d794..7bfef4b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0057-mtk-mt76-mt7996-add-dma-mask-limitation.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0057-mtk-mt76-mt7996-add-dma-mask-limitation.patch
@@ -1,7 +1,7 @@
-From 8509256a66d237ebf813fc1ddd9d2a913465c02b Mon Sep 17 00:00:00 2001
+From d85a2fe1480dfb60ca5a34afea1efdc2ca104bd5 Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Thu, 20 Jul 2023 10:25:50 +0800
-Subject: [PATCH 057/223] mtk: mt76: mt7996: add dma mask limitation
+Subject: [PATCH 057/193] mtk: mt76: mt7996: add dma mask limitation
 
 Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
 ---
@@ -10,7 +10,7 @@
  2 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index 1021b3e5..da21f641 100644
+index 1021b3e..da21f64 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -488,7 +488,7 @@ mt76_dma_get_buf(struct mt76_dev *dev, struct mt76_queue *q, int idx,
@@ -32,7 +32,7 @@
  			break;
  
 diff --git a/wed.c b/wed.c
-index 0a0b5c05..1c6d53c8 100644
+index 0a0b5c0..1c6d53c 100644
 --- a/wed.c
 +++ b/wed.c
 @@ -65,14 +65,14 @@ u32 mt76_wed_init_rx_buf(struct mtk_wed_device *wed, int size)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0058-mtk-mt76-mt7996-add-per-bss-statistic-info.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0058-mtk-mt76-mt7996-add-per-bss-statistic-info.patch
index dfae6e1..4729843 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0058-mtk-mt76-mt7996-add-per-bss-statistic-info.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0058-mtk-mt76-mt7996-add-per-bss-statistic-info.patch
@@ -1,7 +1,7 @@
-From 663d6e60f6a431146594178ffbbbf7fd54180c38 Mon Sep 17 00:00:00 2001
+From 00885efeb0a1778b3e14fb0cbcab221798b6198a Mon Sep 17 00:00:00 2001
 From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
 Date: Fri, 18 Aug 2023 10:17:08 +0800
-Subject: [PATCH 058/223] mtk: mt76: mt7996: add per bss statistic info
+Subject: [PATCH 058/193] mtk: mt76: mt7996: add per bss statistic info
 
 Whenever WED is enabled, unicast traffic might run through HW path.
 As a result, we need to count them using WM event.
@@ -22,10 +22,10 @@
  3 files changed, 37 insertions(+), 5 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index f493a373..f6cddac1 100644
+index fc44ab7..f492547 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -403,6 +403,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -400,6 +400,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_PUNCT);
@@ -34,7 +34,7 @@
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_PROTECTION);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index f02f447e..dcf1fc38 100644
+index 2721491..115ca47 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -265,6 +265,7 @@ static int mt7996_add_interface(struct ieee80211_hw *hw,
@@ -46,7 +46,7 @@
  
  	mt7996_mac_wtbl_update(dev, idx,
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 70e1984a..8b84c9dc 100644
+index d35ae05..a72ae4c 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -529,6 +529,27 @@ mt7996_mcu_update_tx_gi(struct rate_info *rate, struct all_sta_trx_rate *mcu_rat
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0059-mtk-mt76-mt7996-do-not-report-netdev-stats-on-monito.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0059-mtk-mt76-mt7996-do-not-report-netdev-stats-on-monito.patch
index 7cede7a..44bb10d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0059-mtk-mt76-mt7996-do-not-report-netdev-stats-on-monito.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0059-mtk-mt76-mt7996-do-not-report-netdev-stats-on-monito.patch
@@ -1,7 +1,7 @@
-From 4fa8ea3f212978e36a7b9489505545f655d7e3e1 Mon Sep 17 00:00:00 2001
+From aa1f632c409ee9c0ad37c2cb104bcb2fccbdcc9d Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 26 Oct 2023 17:27:43 +0800
-Subject: [PATCH 059/223] mtk: mt76: mt7996: do not report netdev stats on
+Subject: [PATCH 059/193] mtk: mt76: mt7996: do not report netdev stats on
  monitor vif
 
 This fixes the following NULL pointer crash when enabling monitor mode:
@@ -20,7 +20,7 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 8b84c9dc..6b7a5372 100644
+index a72ae4c..b59ede9 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -545,6 +545,9 @@ static inline void __mt7996_stat_to_netdev(struct mt76_phy *mphy,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0060-mtk-mt76-mt7996-add-support-for-HW-ATF.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0060-mtk-mt76-mt7996-add-support-for-HW-ATF.patch
index 3c7f0bd..d824f99 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0060-mtk-mt76-mt7996-add-support-for-HW-ATF.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0060-mtk-mt76-mt7996-add-support-for-HW-ATF.patch
@@ -1,7 +1,7 @@
-From e8d00b434ed9f3e4ac5bc4aa5486331bd948a4c3 Mon Sep 17 00:00:00 2001
+From b10e26c99f3def190cae36edcbb48170813b43bd Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Mon, 11 Sep 2023 16:35:15 +0800
-Subject: [PATCH 060/223] mtk: mt76: mt7996: add support for HW-ATF
+Subject: [PATCH 060/193] mtk: mt76: mt7996: add support for HW-ATF
 
 ---
  mt7996/debugfs.c |  90 ++++++++++++++++
@@ -13,7 +13,7 @@
  6 files changed, 475 insertions(+), 26 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index e328a056..0ef8fee6 100644
+index e328a05..0ef8fee 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -927,6 +927,91 @@ static const struct file_operations mt7996_efuse_ops = {
@@ -121,10 +121,10 @@
  	if (phy->mt76->cap.has_5ghz) {
  		debugfs_create_u32("dfs_hw_pattern", 0400, dir,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index f6cddac1..ac0ef6c1 100644
+index f492547..b6bc0a8 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -575,6 +575,37 @@ int mt7996_txbf_init(struct mt7996_dev *dev)
+@@ -572,6 +572,37 @@ int mt7996_txbf_init(struct mt7996_dev *dev)
  	return mt7996_mcu_set_txbf(dev, BF_HW_EN_UPDATE);
  }
  
@@ -162,7 +162,7 @@
  static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  			       enum mt76_band_id band)
  {
-@@ -647,6 +678,12 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -644,6 +675,12 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  	if (ret)
  		goto error;
  
@@ -175,7 +175,7 @@
  	ret = mt7996_init_debugfs(phy);
  	if (ret)
  		goto error;
-@@ -1493,6 +1530,12 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1490,6 +1527,12 @@ int mt7996_register_device(struct mt7996_dev *dev)
  
  	dev->recovery.hw_init_done = true;
  
@@ -189,7 +189,7 @@
  	if (ret)
  		goto error;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 1c0c2796..094d6420 100644
+index 1c0c279..094d642 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -103,6 +103,7 @@ static void mt7996_mac_sta_poll(struct mt7996_dev *dev)
@@ -220,7 +220,7 @@
  
  		/* get signal strength of resp frames (CTS/BA/ACK) */
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 6b7a5372..6b78357d 100644
+index b59ede9..6c27360 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2230,34 +2230,37 @@ int mt7996_mcu_add_rate_ctrl(struct mt7996_dev *dev, struct ieee80211_vif *vif,
@@ -514,7 +514,7 @@
  void mt7996_set_wireless_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
  {
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 7077a664..c55fb527 100644
+index 7077a66..c55fb52 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -965,6 +965,7 @@ enum {
@@ -526,7 +526,7 @@
  	UNI_VOW_RX_AT_AIRTIME_CLR_EN = 0x0e,
  	UNI_VOW_RED_ENABLE = 0x18,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 8d222a0c..ed38a8ab 100644
+index 8d222a0..ed38a8a 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -117,6 +117,12 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0061-mtk-mt76-mt7996-add-SER0.5-support-w-wed3.0.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0061-mtk-mt76-mt7996-add-SER0.5-support-w-wed3.0.patch
index fb1f214..cd14720 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0061-mtk-mt76-mt7996-add-SER0.5-support-w-wed3.0.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0061-mtk-mt76-mt7996-add-SER0.5-support-w-wed3.0.patch
@@ -1,7 +1,7 @@
-From 23ce8e7268d891e3d762e1058986a5850258c89b Mon Sep 17 00:00:00 2001
+From 0afd9364fce24aefe590e88191679ca64fb48b7c Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Thu, 12 Oct 2023 10:04:54 +0800
-Subject: [PATCH 061/223] mtk: mt76: mt7996: add SER0.5 support w/ wed3.0
+Subject: [PATCH 061/193] mtk: mt76: mt7996: add SER0.5 support w/ wed3.0
 
 Change-Id: I9b26cdbea6e8ee158a153fd153c2dea77b494f2f
 Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
@@ -18,7 +18,7 @@
  9 files changed, 146 insertions(+), 64 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index da21f641..e23b744b 100644
+index da21f64..e23b744 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -218,9 +218,9 @@ void __mt76_dma_queue_reset(struct mt76_dev *dev, struct mt76_queue *q,
@@ -53,7 +53,7 @@
  	return 0;
  }
 diff --git a/dma.h b/dma.h
-index 1de5a2b2..3a8c2e55 100644
+index 1de5a2b..3a8c2e5 100644
 --- a/dma.h
 +++ b/dma.h
 @@ -83,12 +83,12 @@ int mt76_dma_rx_fill(struct mt76_dev *dev, struct mt76_queue *q,
@@ -72,7 +72,7 @@
  		mt76_wed_dma_setup(dev, q, true);
  }
 diff --git a/mt76.h b/mt76.h
-index 2798f9e5..8bf37558 100644
+index 2798f9e..8bf3755 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -305,7 +305,7 @@ struct mt76_queue_ops {
@@ -111,7 +111,7 @@
  }
  
 diff --git a/mt792x_dma.c b/mt792x_dma.c
-index 5cc2d59b..c224bcc8 100644
+index 5cc2d59..c224bcc 100644
 --- a/mt792x_dma.c
 +++ b/mt792x_dma.c
 @@ -181,13 +181,13 @@ mt792x_dma_reset(struct mt792x_dev *dev, bool force)
@@ -132,7 +132,7 @@
  	mt76_tx_status_check(&dev->mt76, true);
  
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index 5d85e9ea..d9e1b17f 100644
+index 5d85e9e..d9e1b17 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -711,21 +711,31 @@ void mt7996_dma_reset(struct mt7996_dev *dev, bool force)
@@ -173,10 +173,10 @@
  	mt7996_dma_enable(dev, !force);
  }
 diff --git a/mt7996/init.c b/mt7996/init.c
-index ac0ef6c1..b0c307fb 100644
+index b6bc0a8..7d0bb31 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -737,11 +737,91 @@ void mt7996_wfsys_reset(struct mt7996_dev *dev)
+@@ -734,11 +734,91 @@ void mt7996_wfsys_reset(struct mt7996_dev *dev)
  	msleep(20);
  }
  
@@ -269,7 +269,7 @@
  	struct mt7996_wed_rro_addr *addr;
  	void *ptr;
  	int i;
-@@ -801,50 +881,9 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
+@@ -798,50 +878,9 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
  		addr++;
  	}
  
@@ -323,7 +323,7 @@
  #else
  	return 0;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 094d6420..d58177ec 100644
+index 094d642..d58177e 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1773,6 +1773,31 @@ mt7996_mac_restart(struct mt7996_dev *dev)
@@ -359,7 +359,7 @@
  	ret = mt7996_mcu_set_eeprom(dev);
  	if (ret)
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ed38a8ab..674f9de1 100644
+index ed38a8a..674f9de 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -723,6 +723,7 @@ extern const struct mt76_testmode_ops mt7996_testmode_ops;
@@ -371,7 +371,7 @@
  u64 __mt7996_get_tsf(struct ieee80211_hw *hw, struct mt7996_vif *mvif);
  int mt7996_register_device(struct mt7996_dev *dev);
 diff --git a/wed.c b/wed.c
-index 1c6d53c8..61a6badf 100644
+index 1c6d53c..61a6bad 100644
 --- a/wed.c
 +++ b/wed.c
 @@ -155,7 +155,7 @@ int mt76_wed_dma_setup(struct mt76_dev *dev, struct mt76_queue *q, bool reset)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0062-mtk-mt76-mt7996-support-backaward-compatiable.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0062-mtk-mt76-mt7996-support-backaward-compatiable.patch
index 2313758..9c22c3c 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0062-mtk-mt76-mt7996-support-backaward-compatiable.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0062-mtk-mt76-mt7996-support-backaward-compatiable.patch
@@ -1,7 +1,7 @@
-From 8078f6868b60b6468958fd0990c5a697e1ac12df Mon Sep 17 00:00:00 2001
+From ffca50bc2c2afe6303705b84f242a44e6a6cd459 Mon Sep 17 00:00:00 2001
 From: mtk27745 <rex.lu@mediatek.com>
 Date: Fri, 6 Oct 2023 20:59:42 +0800
-Subject: [PATCH 062/223] mtk: mt76: mt7996: support backaward compatiable
+Subject: [PATCH 062/193] mtk: mt76: mt7996: support backaward compatiable
 
 revert upstream wed trigger mode to polling mode
 
@@ -27,7 +27,7 @@
  7 files changed, 24 insertions(+), 17 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 8bf37558..e7901e57 100644
+index 8bf3755..e7901e5 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -54,6 +54,8 @@
@@ -40,7 +40,7 @@
  #define MT_QFLAG_WED_TYPE	GENMASK(4, 2)
  #define MT_QFLAG_WED		BIT(5)
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index d58177ec..0c5fa02d 100644
+index d58177e..0c5fa02 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1786,7 +1786,7 @@ mt7996_mac_restart(struct mt7996_dev *dev)
@@ -61,7 +61,7 @@
  		mt7996_irq_disable(dev, 0);
  	}
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 6b78357d..be273181 100644
+index 6c27360..d671734 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3265,7 +3265,7 @@ static int mt7996_mcu_wa_red_config(struct mt7996_dev *dev)
@@ -74,7 +74,7 @@
  	return mt76_mcu_send_msg(&dev->mt76, MCU_WA_PARAM_CMD(SET),
  				 &req, sizeof(req), false);
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 55d83f1d..ee9ba3ff 100644
+index 55d83f1..ee9ba3f 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -14,7 +14,7 @@
@@ -125,7 +125,7 @@
  #else
  	return 0;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 674f9de1..1e17c291 100644
+index 674f9de..1e17c29 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -76,6 +76,7 @@
@@ -137,7 +137,7 @@
  #define MT7996_CFEND_RATE_DEFAULT	0x49	/* OFDM 24M */
  #define MT7996_CFEND_RATE_11B		0x03	/* 11B LP, 11M */
 diff --git a/mt7996/pci.c b/mt7996/pci.c
-index 05830c01..4e957771 100644
+index 05830c0..4e95777 100644
 --- a/mt7996/pci.c
 +++ b/mt7996/pci.c
 @@ -171,7 +171,7 @@ static int mt7996_pci_probe(struct pci_dev *pdev,
@@ -182,7 +182,7 @@
  		if (mtk_wed_device_active(&dev->mt76.mmio.wed_hif2))
  			mtk_wed_device_detach(&dev->mt76.mmio.wed_hif2);
 diff --git a/wed.c b/wed.c
-index 61a6badf..634c95cf 100644
+index 61a6bad..634c95c 100644
 --- a/wed.c
 +++ b/wed.c
 @@ -120,7 +120,7 @@ int mt76_wed_offload_enable(struct mtk_wed_device *wed)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0063-mtk-mt76-mt7996-add-wed-support-for-mt7992.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0063-mtk-mt76-mt7996-add-wed-support-for-mt7992.patch
index 54343e8..b3dada6 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0063-mtk-mt76-mt7996-add-wed-support-for-mt7992.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0063-mtk-mt76-mt7996-add-wed-support-for-mt7992.patch
@@ -1,7 +1,7 @@
-From efbc1e62252f25b9af9e812cd8a8ba61a9e043d0 Mon Sep 17 00:00:00 2001
+From 7832c5bf00f3d75096b2ad65db9005b6065d2516 Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Fri, 8 Sep 2023 11:57:39 +0800
-Subject: [PATCH 063/223] mtk: mt76: mt7996: add wed support for mt7992
+Subject: [PATCH 063/193] mtk: mt76: mt7996: add wed support for mt7992
 
 Fix incomplete WED initialization for Kite band-1 RX ring.
 
@@ -19,7 +19,7 @@
  7 files changed, 152 insertions(+), 48 deletions(-)
 
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index d9e1b17f..d62dc8ba 100644
+index d9e1b17..d62dc8b 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -77,18 +77,23 @@ static void mt7996_dma_config(struct mt7996_dev *dev)
@@ -167,10 +167,10 @@
  		if (mt7996_band_valid(dev, MT_BAND2)) {
  			/* rx rro data queue for band2 */
 diff --git a/mt7996/init.c b/mt7996/init.c
-index b0c307fb..04c15432 100644
+index 7d0bb31..bd6efba 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -815,6 +815,7 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
+@@ -812,6 +812,7 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
  	/* interrupt enable */
  	mt76_wr(dev, MT_RRO_HOST_INT_ENA,
  		MT_RRO_HOST_INT_ENA_HOST_RRO_DONE_ENA);
@@ -178,7 +178,7 @@
  #endif
  }
  
-@@ -867,6 +868,17 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
+@@ -864,6 +865,17 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
  			dev->wed_rro.addr_elem[i].phy_addr;
  	}
  
@@ -196,7 +196,7 @@
  	ptr = dmam_alloc_coherent(dev->mt76.dma_dev,
  				  MT7996_RRO_WINDOW_MAX_LEN * sizeof(*addr),
  				  &dev->wed_rro.session.phy_addr,
-@@ -922,6 +934,16 @@ static void mt7996_wed_rro_free(struct mt7996_dev *dev)
+@@ -919,6 +931,16 @@ static void mt7996_wed_rro_free(struct mt7996_dev *dev)
  				   dev->wed_rro.addr_elem[i].phy_addr);
  	}
  
@@ -214,7 +214,7 @@
  		return;
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 0c5fa02d..9f94f530 100644
+index 0c5fa02..9f94f53 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2016,6 +2016,10 @@ void mt7996_mac_reset_work(struct work_struct *work)
@@ -229,7 +229,7 @@
  					    true);
  
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index ee9ba3ff..82968bc2 100644
+index ee9ba3f..82968bc 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -313,7 +313,8 @@ int mt7996_mmio_wed_init(struct mt7996_dev *dev, void *pdev_ptr,
@@ -321,7 +321,7 @@
  		dev->mt76.rx_token_size = MT7996_TOKEN_SIZE + wed->wlan.rx_npkt;
  	}
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 1e17c291..7d0f7dda 100644
+index 1e17c29..7d0f7dd 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -124,6 +124,10 @@
@@ -356,7 +356,7 @@
  		struct work_struct work;
  		struct list_head poll_list;
 diff --git a/mt7996/pci.c b/mt7996/pci.c
-index 4e957771..f0d3f199 100644
+index 4e95777..f0d3f19 100644
 --- a/mt7996/pci.c
 +++ b/mt7996/pci.c
 @@ -107,7 +107,7 @@ static int mt7996_pci_probe(struct pci_dev *pdev,
@@ -392,7 +392,7 @@
  			goto free_wed_or_irq_vector;
  
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index f55d4a94..2ad8c069 100644
+index f55d4a9..2ad8c06 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -77,6 +77,8 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0064-mtk-mt76-add-2pcie-one-wed-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0064-mtk-mt76-add-2pcie-one-wed-support.patch
index 897e666..8d961fc 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0064-mtk-mt76-add-2pcie-one-wed-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0064-mtk-mt76-add-2pcie-one-wed-support.patch
@@ -1,7 +1,7 @@
-From b6233b7c81cac3c7bc5147cf78ec403feb20e4a3 Mon Sep 17 00:00:00 2001
+From 08c3d3daa5d6b16dd2df5119fd13e0870988fe57 Mon Sep 17 00:00:00 2001
 From: "sujuan.chen" <sujuan.chen@mediatek.com>
 Date: Wed, 13 Sep 2023 17:35:43 +0800
-Subject: [PATCH 064/223] mtk: mt76: add 2pcie one wed support
+Subject: [PATCH 064/193] mtk: mt76: add 2pcie one wed support
 
 Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
 ---
@@ -13,7 +13,7 @@
  5 files changed, 39 insertions(+), 13 deletions(-)
 
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index d62dc8ba..c23b0d65 100644
+index d62dc8b..c23b0d6 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -355,6 +355,13 @@ static void mt7996_dma_enable(struct mt7996_dev *dev, bool reset)
@@ -54,7 +54,7 @@
  			dev->mt76.q_rx[MT_RXQ_TXFREE_BAND0].wed = wed;
  
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 82968bc2..1251382b 100644
+index 82968bc..1251382 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -375,10 +375,10 @@ int mt7996_mmio_wed_init(struct mt7996_dev *dev, void *pdev_ptr,
@@ -83,7 +83,7 @@
  			mt76_wr(dev, MT_INT_MASK_CSR, mdev->mmio.irqmask);
  			mt76_wr(dev, MT_INT1_MASK_CSR, mdev->mmio.irqmask);
 diff --git a/mt7996/mtk_debug.h b/mt7996/mtk_debug.h
-index 27d8f1cb..da2a6072 100644
+index 27d8f1c..da2a607 100644
 --- a/mt7996/mtk_debug.h
 +++ b/mt7996/mtk_debug.h
 @@ -561,6 +561,11 @@ struct queue_desc {
@@ -99,7 +99,7 @@
  //#define WF_WFDMA_MCU_DMA0_BASE                                 0x02000
  #define WF_WFDMA_MCU_DMA0_BASE                                 0x54000000
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index c1671e68..5a140f51 100644
+index c1671e6..5a140f5 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -557,14 +557,22 @@ mt7996_show_dma_info(struct seq_file *s, struct mt7996_dev *dev)
@@ -152,7 +152,7 @@
  
  	/* MCU DMA information */
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index 2ad8c069..87bf0012 100644
+index 2ad8c06..87bf001 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -411,6 +411,7 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0065-mtk-mt76-mt7996-Remove-wed-rro-ring-add-napi-at-init.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0065-mtk-mt76-mt7996-Remove-wed-rro-ring-add-napi-at-init.patch
index 62a315a..d1b98a3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0065-mtk-mt76-mt7996-Remove-wed-rro-ring-add-napi-at-init.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0065-mtk-mt76-mt7996-Remove-wed-rro-ring-add-napi-at-init.patch
@@ -1,7 +1,7 @@
-From 3f8b5805f40b73b389e3355b61b76595fbff5b45 Mon Sep 17 00:00:00 2001
+From 1815f69621dafda1749100c80992820d90c65bef Mon Sep 17 00:00:00 2001
 From: mtk27745 <rex.lu@mediatek.com>
 Date: Mon, 6 Nov 2023 10:16:34 +0800
-Subject: [PATCH 065/223] mtk: mt76: mt7996: Remove wed rro ring add napi at
+Subject: [PATCH 065/193] mtk: mt76: mt7996: Remove wed rro ring add napi at
  init state
 
 without this patch. rro ring will add napi at initial state. once rro ring add napi, it will have chance to be used by host driver. if host driver accessed the ring data, it will cause some issue.
@@ -12,7 +12,7 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/dma.c b/dma.c
-index e23b744b..38701c71 100644
+index e23b744..38701c7 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -1017,6 +1017,10 @@ mt76_dma_init(struct mt76_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0066-mtk-mt76-mt7996-Remove-wed_stop-during-L1-SER.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0066-mtk-mt76-mt7996-Remove-wed_stop-during-L1-SER.patch
index 5d3a194..3fe142d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0066-mtk-mt76-mt7996-Remove-wed_stop-during-L1-SER.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0066-mtk-mt76-mt7996-Remove-wed_stop-during-L1-SER.patch
@@ -1,7 +1,7 @@
-From b6003ba133a517cea454233c6b951ea8acaf7cc0 Mon Sep 17 00:00:00 2001
+From 719cf90d53fe27ca1e83ed016d666f4348283832 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Wed, 29 Nov 2023 13:56:52 +0800
-Subject: [PATCH 066/223] mtk: mt76: mt7996: Remove wed_stop during L1 SER
+Subject: [PATCH 066/193] mtk: mt76: mt7996: Remove wed_stop during L1 SER
 
 Align logan L1 SER flow. During L1 SER, didn't need to close wed interrupt.
 
@@ -11,7 +11,7 @@
  1 file changed, 6 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 9f94f530..c72f70db 100644
+index 9f94f53..c72f70d 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1959,12 +1959,6 @@ void mt7996_mac_reset_work(struct work_struct *work)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0067-mtk-mt76-mt7996-Refactor-rro-del-ba-command-format.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0067-mtk-mt76-mt7996-Refactor-rro-del-ba-command-format.patch
index c3dbca6..4245c11 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0067-mtk-mt76-mt7996-Refactor-rro-del-ba-command-format.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0067-mtk-mt76-mt7996-Refactor-rro-del-ba-command-format.patch
@@ -1,7 +1,7 @@
-From 1dbc5ac676194b3b46685104dc3fdc9f4b2dc06a Mon Sep 17 00:00:00 2001
+From 06fc14d033a47355929cc0aeb78759f2664f30f8 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Wed, 29 Nov 2023 15:51:04 +0800
-Subject: [PATCH 067/223] mtk: mt76: mt7996: Refactor rro del ba command format
+Subject: [PATCH 067/193] mtk: mt76: mt7996: Refactor rro del ba command format
 
 1. remove unused struct
 2. refactor upstream del ba command format
@@ -13,7 +13,7 @@
  1 file changed, 3 insertions(+), 47 deletions(-)
 
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index c55fb527..19572d85 100644
+index c55fb52..19572d8 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -273,7 +273,9 @@ struct mt7996_mcu_wed_rro_ba_delete_event {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0068-mtk-mt76-mt7996-get-airtime-and-RSSI-via-MCU-command.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0068-mtk-mt76-mt7996-get-airtime-and-RSSI-via-MCU-command.patch
index cb7b351..6dd4187 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0068-mtk-mt76-mt7996-get-airtime-and-RSSI-via-MCU-command.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0068-mtk-mt76-mt7996-get-airtime-and-RSSI-via-MCU-command.patch
@@ -1,7 +1,7 @@
-From 5b0810ecadc01482ef25b7e063ebe69f42e39a8e Mon Sep 17 00:00:00 2001
+From 79b1080b870f9d12cb9de41bdac426707ccd1707 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Fri, 17 Nov 2023 18:08:06 +0800
-Subject: [PATCH 068/223] mtk: mt76: mt7996: get airtime and RSSI via MCU
+Subject: [PATCH 068/193] mtk: mt76: mt7996: get airtime and RSSI via MCU
  commands
 
 Direct access to WTBL for airtime and RSSI may cause synchronization issue with FW.
@@ -24,7 +24,7 @@
  9 files changed, 336 insertions(+), 142 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index e7901e57..aad7f557 100644
+index e7901e5..aad7f55 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -336,11 +336,13 @@ struct mt76_sta_stats {
@@ -65,7 +65,7 @@
  mtxq_to_txq(struct mt76_txq *mtxq)
  {
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index db152167..adecb0ed 100644
+index db15216..adecb0e 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1387,11 +1387,23 @@ enum {
@@ -94,7 +94,7 @@
  	UNI_ALL_STA_GI_MODE,
  	UNI_ALL_STA_TXRX_MSDU_COUNT,
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 0ef8fee6..e46a0fb9 100644
+index 0ef8fee..e46a0fb 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -979,12 +979,11 @@ mt7996_airtime_read(struct seq_file *s, void *data)
@@ -136,7 +136,7 @@
  	rcu_read_unlock();
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index c72f70db..8b753148 100644
+index c72f70d..8b75314 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -12,8 +12,6 @@
@@ -325,7 +325,7 @@
  	ieee80211_queue_delayed_work(mphy->hw, &mphy->mac_work,
  				     MT7996_WATCHDOG_TIME);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index be273181..db877d75 100644
+index d671734..e98c499 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -568,7 +568,8 @@ mt7996_mcu_rx_all_sta_info_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -533,7 +533,7 @@
  }
  
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 19572d85..5aa55e4f 100644
+index 19572d8..5aa55e4 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -199,6 +199,23 @@ struct mt7996_mcu_mib {
@@ -575,7 +575,7 @@
  } __packed;
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 7d0f7dda..f6d3bd19 100644
+index 7d0f7dd..f6d3bd1 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -128,6 +128,8 @@
@@ -647,7 +647,7 @@
  int mt7996_mcu_set_tx_power_ctrl(struct mt7996_phy *phy, u8 power_ctrl_id, u8 data);
  int mt7996_mcu_get_tx_power_info(struct mt7996_phy *phy, u8 category, void *event);
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 5a140f51..4ce4ac0d 100644
+index 5a140f5..4ce4ac0 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -3064,6 +3064,69 @@ mt7996_vow_drr_dbg(void *data, u64 val)
@@ -736,7 +736,7 @@
  }
  
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index 87bf0012..96438cca 100644
+index 87bf001..96438cc 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -122,6 +122,8 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0069-mtk-mt76-mt7996-add-support-for-WMM-PBC-configuratio.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0069-mtk-mt76-mt7996-add-support-for-WMM-PBC-configuratio.patch
index 364a360..4652246 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0069-mtk-mt76-mt7996-add-support-for-WMM-PBC-configuratio.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0069-mtk-mt76-mt7996-add-support-for-WMM-PBC-configuratio.patch
@@ -1,7 +1,7 @@
-From 33a4c8e5ec36b3265e10e324e141e26b5941848f Mon Sep 17 00:00:00 2001
+From e314bd492d7456fe61da3225396cfaa972c4cfd3 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Thu, 4 Jan 2024 09:47:00 +0800
-Subject: [PATCH 069/223] mtk: mt76: mt7996: add support for WMM PBC
+Subject: [PATCH 069/193] mtk: mt76: mt7996: add support for WMM PBC
  configuration
 
 Query per-AC-queue packet statistics from WA, and determine if multi-AC transmission is ongoing.
@@ -19,7 +19,7 @@
  6 files changed, 105 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index adecb0ed..c9cea5bb 100644
+index adecb0e..c9cea5b 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1042,6 +1042,7 @@ enum {
@@ -39,10 +39,10 @@
  	MCU_EXT_CMD_SET_RADAR_TH = 0x7c,
  	MCU_EXT_CMD_SET_RDD_PATTERN = 0x7d,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 04c15432..6d5e4c40 100644
+index bd6efba..17a5245 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1556,6 +1556,8 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1553,6 +1553,8 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	INIT_WORK(&dev->dump_work, mt7996_mac_dump_work);
  	mutex_init(&dev->dump_mutex);
  
@@ -52,7 +52,7 @@
  	if (ret)
  		return ret;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 8b753148..bc0f0020 100644
+index 8b75314..bc0f002 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2310,6 +2310,10 @@ void mt7996_mac_work(struct work_struct *work)
@@ -67,7 +67,7 @@
  			           test_bit(MT76_STATE_RUNNING, &mdev->phys[i]->state))
  				break;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index db877d75..47f8a7cd 100644
+index e98c499..469efb5 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -674,6 +674,82 @@ mt7996_mcu_rx_thermal_notify(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -163,7 +163,7 @@
  		break;
  	}
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 5aa55e4f..8ffb16f8 100644
+index 5aa55e4..8ffb16f 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -369,10 +369,25 @@ enum {
@@ -193,7 +193,7 @@
  	MCU_WA_PARAM_RED_CONFIG = 0x40,
  };
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index f6d3bd19..ba3a639b 100644
+index f6d3bd1..ba3a639 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -612,6 +612,9 @@ struct mt7996_dev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0070-mtk-mt76-mt7996-eagle-support-extra-option_type.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0070-mtk-mt76-mt7996-eagle-support-extra-option_type.patch
index 1118304..1924640 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0070-mtk-mt76-mt7996-eagle-support-extra-option_type.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0070-mtk-mt76-mt7996-eagle-support-extra-option_type.patch
@@ -1,7 +1,7 @@
-From 3ae943ca695746f6ff54a926d73a1a6b94d6411c Mon Sep 17 00:00:00 2001
+From 2b7b1c72a9abd1baea23d2d01717daaacec6d794 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Thu, 1 Feb 2024 10:32:42 +0800
-Subject: [PATCH 070/223] mtk: mt76: mt7996: eagle support extra option_type
+Subject: [PATCH 070/193] mtk: mt76: mt7996: eagle support extra option_type
 
 1. eagle + mt7988d option_type 2 support
 2. eagle single pcie support
@@ -23,7 +23,7 @@
  6 files changed, 123 insertions(+), 22 deletions(-)
 
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index c23b0d65..3dc0e8a1 100644
+index c23b0d6..3dc0e8a 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -12,12 +12,20 @@ int mt7996_init_tx_queues(struct mt7996_phy *phy, int idx, int n_desc,
@@ -111,10 +111,10 @@
  		mt76_wr(dev, MT_WFDMA0_PAUSE_RX_Q_45_TH + hif1_ofs, 0xc000c);
  		mt76_wr(dev, MT_WFDMA0_PAUSE_RX_Q_67_TH + hif1_ofs, 0x10008);
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 6d5e4c40..96b209e6 100644
+index 17a5245..c600d49 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -513,7 +513,7 @@ static void mt7996_mac_init_basic_rates(struct mt7996_dev *dev)
+@@ -510,7 +510,7 @@ static void mt7996_mac_init_basic_rates(struct mt7996_dev *dev)
  void mt7996_mac_init(struct mt7996_dev *dev)
  {
  #define HIF_TXD_V2_1	0x21
@@ -123,7 +123,7 @@
  
  	mt76_clear(dev, MT_MDP_DCR2, MT_MDP_DCR2_RX_TRANS_SHORT);
  
-@@ -527,22 +527,45 @@ void mt7996_mac_init(struct mt7996_dev *dev)
+@@ -524,22 +524,45 @@ void mt7996_mac_init(struct mt7996_dev *dev)
  	}
  
  	/* rro module init */
@@ -179,7 +179,7 @@
  	}
  
  	mt7996_mcu_wa_cmd(dev, MCU_WA_PARAM_CMD(SET),
-@@ -620,9 +643,22 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -617,9 +640,22 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  	if (phy)
  		return 0;
  
@@ -205,7 +205,7 @@
  	}
  
  	mphy = mt76_alloc_phy(&dev->mt76, sizeof(*phy), &mt7996_ops, band);
-@@ -1076,6 +1112,9 @@ static int mt7996_variant_fem_init(struct mt7996_dev *dev)
+@@ -1073,6 +1109,9 @@ static int mt7996_variant_fem_init(struct mt7996_dev *dev)
  static int mt7996_init_hardware(struct mt7996_dev *dev)
  {
  	int ret, idx;
@@ -216,10 +216,10 @@
  	mt76_wr(dev, MT_INT_SOURCE_CSR, ~0);
  	if (is_mt7992(&dev->mt76)) {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index dcf1fc38..a53eaa55 100644
+index 115ca47..eab3b87 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1595,8 +1595,19 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1594,8 +1594,19 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mtk_wed_device *wed = &dev->mt76.mmio.wed;
  
@@ -242,7 +242,7 @@
  	if (!mtk_wed_device_active(wed))
  		return -ENODEV;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ba3a639b..eb9a5634 100644
+index ba3a639..eb9a563 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -8,6 +8,7 @@
@@ -272,7 +272,7 @@
  	u8 fw_debug_wm;
  	u8 fw_debug_wa;
 diff --git a/mt7996/pci.c b/mt7996/pci.c
-index f0d3f199..24d69d4d 100644
+index f0d3f19..24d69d4 100644
 --- a/mt7996/pci.c
 +++ b/mt7996/pci.c
 @@ -5,7 +5,6 @@
@@ -292,7 +292,7 @@
  	list_add(&hif->list, &hif_list);
  	spin_unlock_bh(&hif_lock);
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index 96438cca..3a1568c3 100644
+index 96438cc..3a1568c 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -435,6 +435,7 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0071-mtk-mt76-mt7996-support-enable-disable-thermal-prote.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0071-mtk-mt76-mt7996-support-enable-disable-thermal-prote.patch
index c5deee4..a3ab56f 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0071-mtk-mt76-mt7996-support-enable-disable-thermal-prote.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0071-mtk-mt76-mt7996-support-enable-disable-thermal-prote.patch
@@ -1,7 +1,7 @@
-From 93cd3c23453725f003318b5556ad09b56e3995a6 Mon Sep 17 00:00:00 2001
+From 016b60d28329d6af3b1d64b4ec4ede5d63992b6a Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Thu, 27 Jul 2023 19:35:32 +0800
-Subject: [PATCH 071/223] mtk: mt76: mt7996: support enable/disable thermal
+Subject: [PATCH 071/193] mtk: mt76: mt7996: support enable/disable thermal
  protection mechanism
 
 This commit adds a new debugfs thermal_enable to enable/disable thermal
@@ -24,7 +24,7 @@
  3 files changed, 47 insertions(+)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index a53eaa55..e5b32d33 100644
+index eab3b87..09b1daa 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -91,6 +91,7 @@ int mt7996_run(struct ieee80211_hw *hw)
@@ -36,7 +36,7 @@
  	ret = mt7996_mcu_set_tx_power_ctrl(phy, UNI_TXPOWER_SKU_POWER_LIMIT_CTRL,
  						dev->dbg.sku_disable ? 0 : phy->sku_limit_en);
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index eb9a5634..94735872 100644
+index eb9a563..9473587 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -490,6 +490,7 @@ struct mt7996_phy {
@@ -48,7 +48,7 @@
  };
  
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 4ce4ac0d..196038d4 100644
+index 4ce4ac0..196038d 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -3127,6 +3127,49 @@ mt7996_show_rro_mib(struct seq_file *s, void *data)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0072-mtk-mt76-mt7996-support-thermal-recal-debug-command.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0072-mtk-mt76-mt7996-support-thermal-recal-debug-command.patch
index 6115142..e357585 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0072-mtk-mt76-mt7996-support-thermal-recal-debug-command.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0072-mtk-mt76-mt7996-support-thermal-recal-debug-command.patch
@@ -1,7 +1,7 @@
-From 3ee40687fd7064508306f1008c14433ccf7253d4 Mon Sep 17 00:00:00 2001
+From 28016b68a4afd015b5acc5891fc27a0a81904733 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Thu, 4 Jan 2024 19:53:37 +0800
-Subject: [PATCH 072/223] mtk: mt76: mt7996: support thermal recal debug
+Subject: [PATCH 072/193] mtk: mt76: mt7996: support thermal recal debug
  command
 
 Add support thermal recal debug command.
@@ -24,7 +24,7 @@
  4 files changed, 40 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index c9cea5bb..11a1224a 100644
+index c9cea5b..11a1224 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1302,6 +1302,7 @@ enum {
@@ -36,7 +36,7 @@
  	MCU_UNI_CMD_OFFCH_SCAN_CTRL = 0x58,
  	MCU_UNI_CMD_PER_STA_INFO = 0x6d,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 94735872..82ff4e99 100644
+index 9473587..82ff4e9 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1037,6 +1037,7 @@ void mt7996_mcu_set_cert(struct mt7996_phy *phy, u8 type);
@@ -48,7 +48,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 196038d4..bc9a0f04 100644
+index 196038d..bc9a0f0 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -3170,6 +3170,22 @@ out:
@@ -83,7 +83,7 @@
  	return 0;
  }
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 967ee874..809181e0 100644
+index 967ee87..809181e 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -1343,4 +1343,25 @@ int mt7996_mcu_set_vow_drr_dbg(struct mt7996_dev *dev, u32 val)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0073-mtk-mt76-mt7996-add-kite-two-pcie-with-two-wed-suppo.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0073-mtk-mt76-mt7996-add-kite-two-pcie-with-two-wed-suppo.patch
index 0f9bedd..c77f27f 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0073-mtk-mt76-mt7996-add-kite-two-pcie-with-two-wed-suppo.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0073-mtk-mt76-mt7996-add-kite-two-pcie-with-two-wed-suppo.patch
@@ -1,7 +1,7 @@
-From 4f6f8ddf1d26b8dac9d405f6c73457adab2660cc Mon Sep 17 00:00:00 2001
+From 80bca2a6b13f99a434ebb998efdce311e6410071 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Tue, 19 Mar 2024 13:16:12 +0800
-Subject: [PATCH 073/223] mtk: mt76: mt7996: add kite two pcie with two wed
+Subject: [PATCH 073/193] mtk: mt76: mt7996: add kite two pcie with two wed
  support
 
 Signed-off-by: Rex Lu <rex.lu@mediatek.com>
@@ -15,7 +15,7 @@
  6 files changed, 101 insertions(+), 47 deletions(-)
 
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index 3dc0e8a1..a2490fa7 100644
+index 3dc0e8a..a2490fa 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -108,8 +108,8 @@ static void mt7996_dma_config(struct mt7996_dev *dev)
@@ -131,10 +131,10 @@
  				       MT_RXQ_ID(MT_RXQ_BAND1_WA),
  				       MT7996_RX_MCU_RING_SIZE,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 96b209e6..48798711 100644
+index c600d49..77d4eae 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -527,39 +527,46 @@ void mt7996_mac_init(struct mt7996_dev *dev)
+@@ -524,39 +524,46 @@ void mt7996_mac_init(struct mt7996_dev *dev)
  	}
  
  	/* rro module init */
@@ -202,7 +202,7 @@
  
  	if (dev->has_rro) {
  		u16 timeout;
-@@ -643,7 +650,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -640,7 +647,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  	if (phy)
  		return 0;
  
@@ -211,7 +211,7 @@
  		switch (dev->option_type) {
  		case 2:
  			/* eagle + 7988d */
-@@ -653,7 +660,8 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -650,7 +657,8 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  			}
  			break;
  		default:
@@ -222,10 +222,10 @@
  				wed = &dev->mt76.mmio.wed_hif2;
  			}
 diff --git a/mt7996/main.c b/mt7996/main.c
-index e5b32d33..3a274ba7 100644
+index 09b1daa..544be33 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1596,7 +1596,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1595,7 +1595,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mtk_wed_device *wed = &dev->mt76.mmio.wed;
  
@@ -234,7 +234,7 @@
  		switch (dev->option_type) {
  		case 2:
  			/* eagle + 7988d */
-@@ -1604,7 +1604,8 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1603,7 +1603,8 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  				wed = &dev->mt76.mmio.wed_hif2;
  			break;
  		default:
@@ -245,7 +245,7 @@
  			break;
  		}
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 1251382b..14c70915 100644
+index 1251382..14c7091 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -336,10 +336,16 @@ int mt7996_mmio_wed_init(struct mt7996_dev *dev, void *pdev_ptr,
@@ -287,7 +287,7 @@
  
  	if (mtk_wed_device_active(wed)) {
 diff --git a/mt7996/pci.c b/mt7996/pci.c
-index 24d69d4d..382b6a89 100644
+index 24d69d4..382b6a8 100644
 --- a/mt7996/pci.c
 +++ b/mt7996/pci.c
 @@ -110,7 +110,7 @@ static int mt7996_pci_probe(struct pci_dev *pdev,
@@ -310,7 +310,7 @@
  		if (ret < 0)
  			goto free_wed_or_irq_vector;
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index 3a1568c3..a0b57e59 100644
+index 3a1568c..a0b57e5 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -525,6 +525,7 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0074-mtk-mt76-add-support-to-enable-index-FW-log-for-Cons.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0074-mtk-mt76-add-support-to-enable-index-FW-log-for-Cons.patch
index 7ab34bf..06987f9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0074-mtk-mt76-add-support-to-enable-index-FW-log-for-Cons.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0074-mtk-mt76-add-support-to-enable-index-FW-log-for-Cons.patch
@@ -1,7 +1,7 @@
-From ec4ace4cb79cc70a766eaf648b56b9db3836a254 Mon Sep 17 00:00:00 2001
+From b99e380eab721019572291ed3c6c10c92a057b00 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Thu, 11 Jan 2024 08:55:13 +0800
-Subject: [PATCH 074/223] mtk: mt76: add support to enable index FW log for
+Subject: [PATCH 074/193] mtk: mt76: add support to enable index FW log for
  ConsysPlanet
 
 Add support to enable and record index FW log, which is the input for ConsysPlanet, via mt76-test command.
@@ -39,7 +39,7 @@
  8 files changed, 295 insertions(+), 69 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index e46a0fb9..7e8e91ca 100644
+index e46a0fb..7e8e91c 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -430,8 +430,8 @@ create_buf_file_cb(const char *filename, struct dentry *parent, umode_t mode,
@@ -169,7 +169,7 @@
  	return true;
  }
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index bc0f0020..4ea44f8d 100644
+index bc0f002..4ea44f8 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2291,11 +2291,9 @@ void mt7996_mac_work(struct work_struct *work)
@@ -199,7 +199,7 @@
  			           test_bit(MT76_STATE_RUNNING, &mdev->phys[i]->state))
  				break;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 47f8a7cd..d559df86 100644
+index 469efb5..a63a370 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -405,6 +405,7 @@ static void
@@ -258,7 +258,7 @@
  {
  	struct {
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 8ffb16f8..b15796dc 100644
+index 8ffb16f..b15796d 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -351,7 +351,8 @@ enum {
@@ -280,7 +280,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 82ff4e99..4e99830f 100644
+index 82ff4e9..4e99830 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -593,9 +593,11 @@ struct mt7996_dev {
@@ -304,7 +304,7 @@
  void mt7996_mcu_rx_event(struct mt7996_dev *dev, struct sk_buff *skb);
  void mt7996_mcu_exit(struct mt7996_dev *dev);
 diff --git a/tools/fwlog.c b/tools/fwlog.c
-index 3c6a61d7..0e2de2dc 100644
+index 3c6a61d..0e2de2d 100644
 --- a/tools/fwlog.c
 +++ b/tools/fwlog.c
 @@ -29,10 +29,9 @@ static const char *debugfs_path(const char *phyname, const char *file)
@@ -592,7 +592,7 @@
  	return ret;
  }
 diff --git a/tools/main.c b/tools/main.c
-index 699a9eea..e9e25567 100644
+index 699a9ee..e9e2556 100644
 --- a/tools/main.c
 +++ b/tools/main.c
 @@ -198,6 +198,8 @@ int main(int argc, char **argv)
@@ -605,7 +605,7 @@
  		usage();
  
 diff --git a/tools/mt76-test.h b/tools/mt76-test.h
-index d2fafa86..b9d508c5 100644
+index d2fafa8..b9d508c 100644
 --- a/tools/mt76-test.h
 +++ b/tools/mt76-test.h
 @@ -22,6 +22,8 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0075-mtk-mt76-mt7996-implement-and-switch-to-hw-scan-call.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0075-mtk-mt76-mt7996-implement-and-switch-to-hw-scan-call.patch
index 9977a88..2daad93 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0075-mtk-mt76-mt7996-implement-and-switch-to-hw-scan-call.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0075-mtk-mt76-mt7996-implement-and-switch-to-hw-scan-call.patch
@@ -1,7 +1,7 @@
-From 953012de13153dbc078b6fe3cc64d6d44e2d251f Mon Sep 17 00:00:00 2001
+From b99c169ff2777a55470fc7f783776dc141358ee8 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 3 Nov 2023 21:44:45 +0800
-Subject: [PATCH 075/223] mtk: mt76: mt7996: implement and switch to hw scan
+Subject: [PATCH 075/193] mtk: mt76: mt7996: implement and switch to hw scan
  callbacks
 
 To support MLO, hw_scan callbacks are mandatory. However, the
@@ -31,7 +31,7 @@
  8 files changed, 256 insertions(+), 11 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index b08a9388..cad85f19 100644
+index b08a938..cad85f1 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -820,7 +820,7 @@ bool mt76_has_tx_pending(struct mt76_phy *phy)
@@ -52,7 +52,7 @@
  void mt76_update_survey_active_time(struct mt76_phy *phy, ktime_t time)
  {
 diff --git a/mt76.h b/mt76.h
-index aad7f557..36e92dfe 100644
+index aad7f55..36e92df 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -1483,6 +1483,8 @@ void mt76_release_buffered_frames(struct ieee80211_hw *hw,
@@ -65,10 +65,10 @@
  void mt76_update_survey_active_time(struct mt76_phy *phy, ktime_t time);
  int mt76_get_survey(struct ieee80211_hw *hw, int idx,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 48798711..a188fa1d 100644
+index 77d4eae..441300a 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -459,6 +459,9 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -456,6 +456,9 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  
  	wiphy->available_antennas_rx = phy->mt76->antenna_mask;
  	wiphy->available_antennas_tx = phy->mt76->antenna_mask;
@@ -78,7 +78,7 @@
  }
  
  static void
-@@ -679,6 +682,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -676,6 +679,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  	mphy->dev->phys[band] = mphy;
  
  	INIT_DELAYED_WORK(&mphy->mac_work, mt7996_mac_work);
@@ -86,7 +86,7 @@
  
  	ret = mt7996_eeprom_parse_hw_cap(dev, phy);
  	if (ret)
-@@ -1594,6 +1598,7 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1591,6 +1595,7 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	dev->mt76.phy.priv = &dev->phy;
  	INIT_WORK(&dev->rc_work, mt7996_mac_sta_rc_work);
  	INIT_DELAYED_WORK(&dev->mphy.mac_work, mt7996_mac_work);
@@ -95,7 +95,7 @@
  	INIT_LIST_HEAD(&dev->sta_rc_list);
  	INIT_LIST_HEAD(&dev->twt_list);
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 4ea44f8d..5c29fe7f 100644
+index 4ea44f8..5c29fe7 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2705,3 +2705,144 @@ void mt7996_mac_twt_teardown_flow(struct mt7996_dev *dev,
@@ -244,7 +244,7 @@
 +	ieee80211_queue_delayed_work(hw, &phy->scan_work, duration);
 +}
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 3a274ba7..475763e4 100644
+index 544be33..c6dfefd 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -312,6 +312,8 @@ static void mt7996_remove_interface(struct ieee80211_hw *hw,
@@ -345,7 +345,7 @@
  	}
  
  	if (changed & (IEEE80211_CONF_CHANGE_POWER |
-@@ -1637,6 +1687,42 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1636,6 +1686,42 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  
  #endif
  
@@ -388,7 +388,7 @@
  const struct ieee80211_ops mt7996_ops = {
  	.add_chanctx = ieee80211_emulate_add_chanctx,
  	.remove_chanctx = ieee80211_emulate_remove_chanctx,
-@@ -1659,8 +1745,8 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -1658,8 +1744,8 @@ const struct ieee80211_ops mt7996_ops = {
  	.ampdu_action = mt7996_ampdu_action,
  	.set_rts_threshold = mt7996_set_rts_threshold,
  	.wake_tx_queue = mt76_wake_tx_queue,
@@ -400,7 +400,7 @@
  	.get_txpower = mt76_get_txpower,
  	.channel_switch_beacon = mt7996_channel_switch_beacon,
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index d559df86..746fc223 100644
+index a63a370..a54f645 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3786,7 +3786,8 @@ int mt7996_mcu_set_chan_info(struct mt7996_phy *phy, u16 tag)
@@ -414,7 +414,7 @@
  	else if (!cfg80211_reg_can_beacon(phy->mt76->hw->wiphy, chandef,
  					  NL80211_IFTYPE_AP))
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 14c70915..1fcca23c 100644
+index 14c7091..1fcca23 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -657,7 +657,7 @@ struct mt7996_dev *mt7996_mmio_probe(struct device *pdev,
@@ -427,7 +427,7 @@
  	struct mt7996_dev *dev;
  	struct mt76_dev *mdev;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 4e99830f..87b166aa 100644
+index 4e99830..87b166a 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -460,6 +460,13 @@ struct mt7996_phy {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0076-mtk-mt76-mt7996-implement-and-switch-to-chanctx-call.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0076-mtk-mt76-mt7996-implement-and-switch-to-chanctx-call.patch
index 0a5ab02..7e8a990 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0076-mtk-mt76-mt7996-implement-and-switch-to-chanctx-call.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0076-mtk-mt76-mt7996-implement-and-switch-to-chanctx-call.patch
@@ -1,7 +1,7 @@
-From f6889bcb95884df285d628c93b78fe28a5008262 Mon Sep 17 00:00:00 2001
+From 8d5864d26f56f7ca0d137271701ee443c3330489 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 6 Nov 2023 16:17:11 +0800
-Subject: [PATCH 076/223] mtk: mt76: mt7996: implement and switch to chanctx
+Subject: [PATCH 076/193] mtk: mt76: mt7996: implement and switch to chanctx
  callbacks
 
 To support MLO, chanctx callbacks are mandatory, since one VIF (MLD) could
@@ -21,10 +21,10 @@
  5 files changed, 211 insertions(+), 18 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index a188fa1d..7afbd46a 100644
+index 441300a..c6ca865 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -384,6 +384,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -381,6 +381,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  
  	hw->sta_data_size = sizeof(struct mt7996_sta);
  	hw->vif_data_size = sizeof(struct mt7996_vif);
@@ -32,7 +32,7 @@
  
  	wiphy->iface_combinations = if_comb;
  	wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
-@@ -419,6 +420,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -416,6 +417,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD);
  	ieee80211_hw_set(hw, WANT_MONITOR_VIF);
  	ieee80211_hw_set(hw, SUPPORTS_MULTI_BSSID);
@@ -40,7 +40,7 @@
  
  	hw->max_tx_fragments = 4;
  
-@@ -639,6 +641,22 @@ static int mt7996_vow_init(struct mt7996_phy *phy)
+@@ -636,6 +638,22 @@ static int mt7996_vow_init(struct mt7996_phy *phy)
  	return mt7996_mcu_set_vow_feature_ctrl(phy);
  }
  
@@ -63,7 +63,7 @@
  static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  			       enum mt76_band_id band)
  {
-@@ -722,6 +740,8 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -719,6 +737,8 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  	if (ret)
  		goto error;
  
@@ -72,7 +72,7 @@
  	ret = mt7996_thermal_init(phy);
  	if (ret)
  		goto error;
-@@ -1629,6 +1649,8 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1626,6 +1646,8 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	if (ret)
  		return ret;
  
@@ -82,7 +82,7 @@
  	if (ret)
  		return ret;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 5c29fe7f..7cfc25ba 100644
+index 5c29fe7..7cfc25b 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2797,7 +2797,10 @@ void mt7996_scan_work(struct work_struct *work)
@@ -110,7 +110,7 @@
  		ieee80211_queue_delayed_work(hw, &phy->scan_work, HZ / 10);
  
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 475763e4..cbd64681 100644
+index c6dfefd..54a179c 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -76,6 +76,11 @@ int mt7996_run(struct ieee80211_hw *hw)
@@ -147,7 +147,7 @@
  	if (changed & (IEEE80211_CONF_CHANGE_POWER |
  		       IEEE80211_CONF_CHANGE_CHANNEL)) {
  		ret = mt7996_mcu_set_txpower_sku(phy);
-@@ -1723,6 +1713,158 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -1722,6 +1712,158 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  	mutex_unlock(&phy->dev->mt76.mutex);
  }
  
@@ -306,7 +306,7 @@
  const struct ieee80211_ops mt7996_ops = {
  	.add_chanctx = ieee80211_emulate_add_chanctx,
  	.remove_chanctx = ieee80211_emulate_remove_chanctx,
-@@ -1777,4 +1919,10 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -1776,4 +1918,10 @@ const struct ieee80211_ops mt7996_ops = {
  	.net_fill_forward_path = mt7996_net_fill_forward_path,
  	.net_setup_tc = mt76_wed_net_setup_tc,
  #endif
@@ -318,7 +318,7 @@
 +	.switch_vif_chanctx = mt7996_switch_vif_chanctx,
  };
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 746fc223..ba53c3fc 100644
+index a54f645..b8bfcbf 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5322,7 +5322,7 @@ int mt7996_mcu_set_pp_en(struct mt7996_phy *phy, u8 mode, u16 bitmap)
@@ -331,7 +331,7 @@
  		return 0;
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 87b166aa..07790257 100644
+index 87b166a..0779025 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -334,6 +334,8 @@ struct mt7996_vif {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0077-mtk-mt76-mt7996-use-.sta_state-to-replace-.sta_add-a.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0077-mtk-mt76-mt7996-use-.sta_state-to-replace-.sta_add-a.patch
index 0508cee..8dd754a 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0077-mtk-mt76-mt7996-use-.sta_state-to-replace-.sta_add-a.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0077-mtk-mt76-mt7996-use-.sta_state-to-replace-.sta_add-a.patch
@@ -1,7 +1,7 @@
-From 2819a489bf4d70e8407cdc07d2d77b3b40441669 Mon Sep 17 00:00:00 2001
+From 25ea7ddaa7e96806d90997f21ad75373ff111f22 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 8 Nov 2023 18:52:26 +0800
-Subject: [PATCH 077/223] mtk: mt76: mt7996: use .sta_state to replace .sta_add
+Subject: [PATCH 077/193] mtk: mt76: mt7996: use .sta_state to replace .sta_add
  and .sta_remove
 
 MAC80211 mostly uses MLD address through TX path, and leaves the header
@@ -22,10 +22,10 @@
  3 files changed, 26 insertions(+), 32 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index cbd64681..5edfbc4b 100644
+index 54a179c..ed14bbb 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -782,7 +782,7 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -781,7 +781,7 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	u8 band_idx = mvif->phy->mt76->band_idx;
@@ -34,7 +34,7 @@
  
  #ifdef CONFIG_MTK_VENDOR
  	struct mt7996_phy *phy = &dev->phy;
-@@ -800,23 +800,10 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -799,23 +799,10 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	msta->wcid.phy_idx = band_idx;
  	msta->wcid.tx_info |= MT_WCID_TX_INFO_SET;
  
@@ -58,7 +58,7 @@
  #ifdef CONFIG_MTK_VENDOR
  	switch (band_idx) {
  	case MT_BAND1:
-@@ -837,6 +824,27 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -836,6 +823,27 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	return 0;
  }
  
@@ -86,7 +86,7 @@
  void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  			   struct ieee80211_sta *sta)
  {
-@@ -956,22 +964,6 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -955,22 +963,6 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	return ret;
  }
  
@@ -109,7 +109,7 @@
  static int
  mt7996_get_stats(struct ieee80211_hw *hw,
  		 struct ieee80211_low_level_stats *stats)
-@@ -1879,8 +1871,7 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -1878,8 +1870,7 @@ const struct ieee80211_ops mt7996_ops = {
  	.conf_tx = mt7996_conf_tx,
  	.configure_filter = mt7996_configure_filter,
  	.bss_info_changed = mt7996_bss_info_changed,
@@ -120,7 +120,7 @@
  	.sta_rc_update = mt7996_sta_rc_update,
  	.set_key = mt7996_set_key,
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 1fcca23c..8ac1b12a 100644
+index 1fcca23..8ac1b12 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -655,6 +655,7 @@ struct mt7996_dev *mt7996_mmio_probe(struct device *pdev,
@@ -132,7 +132,7 @@
  		.update_survey = mt7996_update_channel,
  		// .set_channel = mt7996_set_channel,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 07790257..7d416f30 100644
+index 0779025..7d416f3 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -971,6 +971,8 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0078-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0078-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch
index 8e80fdc..a4fe328 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0078-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0078-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch
@@ -1,7 +1,7 @@
-From 2aa446d88555e199c973a8b46ece2749a7aff2b4 Mon Sep 17 00:00:00 2001
+From 2985f8ada71e49f6894f47b05e4c71de00c1ac7b Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 24 Nov 2023 11:31:55 +0800
-Subject: [PATCH 078/223] mtk: mt76: mt7996: switch to per-link data structure
+Subject: [PATCH 078/193] mtk: mt76: mt7996: switch to per-link data structure
  of vif
 
 Introduce struct mt7996_bss_conf, data structure for per-link BSS.
@@ -22,7 +22,7 @@
  7 files changed, 463 insertions(+), 363 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 7e8e91ca..792ace03 100644
+index 7e8e91c..792ace0 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -726,7 +726,7 @@ static void
@@ -71,10 +71,10 @@
  	char buf[100];
  	int ret;
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 7afbd46a..f5bff109 100644
+index c6ca865..1a3b867 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -630,11 +630,11 @@ static int mt7996_vow_init(struct mt7996_phy *phy)
+@@ -627,11 +627,11 @@ static int mt7996_vow_init(struct mt7996_phy *phy)
  	vow->drr_quantum[6] = VOW_DRR_QUANTUM_L6;
  	vow->drr_quantum[7] = VOW_DRR_QUANTUM_L7;
  
@@ -89,7 +89,7 @@
  		return ret;
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 7cfc25ba..8f743125 100644
+index 7cfc25b..8f74312 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -912,8 +912,9 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
@@ -186,7 +186,7 @@
  
  	list_del_init(&flow->list);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 5edfbc4b..8d919dd0 100644
+index ed14bbb..f81df91 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -205,29 +205,30 @@ static int get_omac_idx(enum nl80211_iftype type, u64 mask)
@@ -424,7 +424,7 @@
  	return 0;
  }
  
-@@ -617,22 +635,20 @@ static void mt7996_configure_filter(struct ieee80211_hw *hw,
+@@ -616,22 +634,20 @@ static void mt7996_configure_filter(struct ieee80211_hw *hw,
  }
  
  static void
@@ -451,7 +451,7 @@
  		break;
  	default:
  		break;
-@@ -640,16 +656,15 @@ mt7996_update_bss_color(struct ieee80211_hw *hw,
+@@ -639,16 +655,15 @@ mt7996_update_bss_color(struct ieee80211_hw *hw,
  }
  
  static u8
@@ -472,7 +472,7 @@
  
  	if (beacon) {
  		struct mt7996_phy *phy = mphy->priv;
-@@ -670,23 +685,22 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -669,23 +684,22 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		if ((mt76_rates[i].hw_value & GENMASK(7, 0)) == idx)
  			return MT7996_BASIC_RATES_TBL + 2 * i;
  
@@ -502,7 +502,7 @@
  	mt76_wr(dev, MT_WF_PHYRX_BAND_GID_TAB_POS0(band), mu[0]);
  	mt76_wr(dev, MT_WF_PHYRX_BAND_GID_TAB_POS1(band), mu[1]);
  	mt76_wr(dev, MT_WF_PHYRX_BAND_GID_TAB_POS2(band), mu[2]);
-@@ -698,20 +712,22 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
+@@ -697,20 +711,22 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
  				    struct ieee80211_bss_conf *info,
  				    u64 changed)
  {
@@ -528,7 +528,7 @@
  				   !!(changed & BSS_CHANGED_BSSID));
  	}
  
-@@ -723,42 +739,42 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
+@@ -722,42 +738,42 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
  
  		if (slottime != phy->slottime) {
  			phy->slottime = slottime;
@@ -584,7 +584,7 @@
  
  	mutex_unlock(&dev->mt76.mutex);
  }
-@@ -769,9 +785,14 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
+@@ -768,9 +784,14 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
  			     struct cfg80211_chan_def *chandef)
  {
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
@@ -600,7 +600,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -781,7 +802,8 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -780,7 +801,8 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -610,7 +610,7 @@
  	int idx;
  
  #ifdef CONFIG_MTK_VENDOR
-@@ -801,7 +823,7 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -800,7 +822,7 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	msta->wcid.tx_info |= MT_WCID_TX_INFO_SET;
  
  #ifdef CONFIG_MTK_VENDOR
@@ -619,7 +619,7 @@
  #endif
  
  #ifdef CONFIG_MTK_VENDOR
-@@ -828,7 +850,10 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -827,7 +849,10 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  			 struct ieee80211_sta *sta, enum mt76_sta_event ev)
  {
  	struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
@@ -630,7 +630,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -836,8 +861,10 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -835,8 +860,10 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  		mt7996_mac_wtbl_update(dev, msta->wcid.idx,
  				       MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
  
@@ -643,7 +643,7 @@
  
  		ewma_avg_signal_init(&msta->avg_ack_signal);
  	}
-@@ -849,10 +876,15 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -848,10 +875,15 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  			   struct ieee80211_sta *sta)
  {
  	struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
@@ -660,7 +660,7 @@
  
  	mt7996_mac_wtbl_update(dev, msta->wcid.idx,
  			       MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
-@@ -984,7 +1016,7 @@ mt7996_get_stats(struct ieee80211_hw *hw,
+@@ -983,7 +1015,7 @@ mt7996_get_stats(struct ieee80211_hw *hw,
  	return 0;
  }
  
@@ -669,7 +669,7 @@
  {
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
-@@ -996,8 +1028,8 @@ u64 __mt7996_get_tsf(struct ieee80211_hw *hw, struct mt7996_vif *mvif)
+@@ -995,8 +1027,8 @@ u64 __mt7996_get_tsf(struct ieee80211_hw *hw, struct mt7996_vif *mvif)
  
  	lockdep_assert_held(&dev->mt76.mutex);
  
@@ -680,7 +680,7 @@
  	/* TSF software read */
  	mt76_rmw(dev, MT_LPON_TCR(phy->mt76->band_idx, n), MT_LPON_TCR_SW_MODE,
  		 MT_LPON_TCR_SW_READ);
-@@ -1012,10 +1044,12 @@ mt7996_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -1011,10 +1043,12 @@ mt7996_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  {
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
@@ -694,7 +694,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  
  	return ret;
-@@ -1028,6 +1062,7 @@ mt7996_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1027,6 +1061,7 @@ mt7996_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
@@ -702,7 +702,7 @@
  	union {
  		u64 t64;
  		u32 t32[2];
-@@ -1036,8 +1071,9 @@ mt7996_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1035,8 +1070,9 @@ mt7996_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mutex_lock(&dev->mt76.mutex);
  
@@ -714,7 +714,7 @@
  	mt76_wr(dev, MT_LPON_UTTR0(phy->mt76->band_idx), tsf.t32[0]);
  	mt76_wr(dev, MT_LPON_UTTR1(phy->mt76->band_idx), tsf.t32[1]);
  	/* TSF software overwrite */
-@@ -1054,6 +1090,7 @@ mt7996_offset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1053,6 +1089,7 @@ mt7996_offset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
@@ -722,7 +722,7 @@
  	union {
  		u64 t64;
  		u32 t32[2];
-@@ -1062,8 +1099,9 @@ mt7996_offset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1061,8 +1098,9 @@ mt7996_offset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mutex_lock(&dev->mt76.mutex);
  
@@ -734,7 +734,7 @@
  	mt76_wr(dev, MT_LPON_UTTR0(phy->mt76->band_idx), tsf.t32[0]);
  	mt76_wr(dev, MT_LPON_UTTR1(phy->mt76->band_idx), tsf.t32[1]);
  	/* TSF software adjust*/
-@@ -1179,7 +1217,7 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
+@@ -1178,7 +1216,7 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
  static void mt7996_sta_rc_work(void *data, struct ieee80211_sta *sta)
  {
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -743,7 +743,7 @@
  	u32 *changed = data;
  
  	spin_lock_bh(&dev->mt76.sta_poll_lock);
-@@ -1215,9 +1253,13 @@ mt7996_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1214,9 +1252,13 @@ mt7996_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mt7996_dev *dev = phy->dev;
@@ -758,7 +758,7 @@
  
  	/* if multiple rates across different preambles are given we can
  	 * reconfigure this info with all peers using sta_rec command with
-@@ -1239,14 +1281,20 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
+@@ -1238,14 +1280,20 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
  				 bool enabled)
  {
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
@@ -780,7 +780,7 @@
  }
  
  static void mt7996_sta_set_decap_offload(struct ieee80211_hw *hw,
-@@ -1255,14 +1303,20 @@ static void mt7996_sta_set_decap_offload(struct ieee80211_hw *hw,
+@@ -1254,14 +1302,20 @@ static void mt7996_sta_set_decap_offload(struct ieee80211_hw *hw,
  					 bool enabled)
  {
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
@@ -802,7 +802,7 @@
  }
  
  static const char mt7996_gstrings_stats[][ETH_GSTRING_LEN] = {
-@@ -1395,7 +1449,7 @@ static void mt7996_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
+@@ -1394,7 +1448,7 @@ static void mt7996_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
  	struct mt76_ethtool_worker_info *wi = wi_data;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  
@@ -811,7 +811,7 @@
  		return;
  
  	mt76_ethtool_worker(wi, &msta->wcid.stats, true);
-@@ -1409,15 +1463,17 @@ void mt7996_get_et_stats(struct ieee80211_hw *hw,
+@@ -1408,15 +1462,17 @@ void mt7996_get_et_stats(struct ieee80211_hw *hw,
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -830,7 +830,7 @@
  
  	mt7996_mac_update_stats(phy);
  
-@@ -1623,6 +1679,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1622,6 +1678,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  			     struct net_device_path *path)
  {
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -838,7 +838,7 @@
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
-@@ -1652,7 +1709,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1651,7 +1708,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	path->type = DEV_PATH_MTK_WDMA;
  	path->dev = ctx->dev;
  	path->mtk_wdma.wdma_idx = wed->wdma_idx;
@@ -847,7 +847,7 @@
  	path->mtk_wdma.queue = 0;
  	path->mtk_wdma.wcid = msta->wcid.idx;
  
-@@ -1784,6 +1841,7 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1783,6 +1840,7 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_chanctx *ctx = mt7996_chanctx_get(conf);
  	struct mt7996_phy *phy = ctx->phy;
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -855,7 +855,7 @@
  
  	wiphy_info(hw->wiphy, "Assign VIF (addr: %pM, type: %d, link_id: %d) to channel context: %d MHz\n",
  		    vif->addr, vif->type, link_conf->link_id,
-@@ -1791,7 +1849,8 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1790,7 +1848,8 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mutex_lock(&phy->dev->mt76.mutex);
  
@@ -865,7 +865,7 @@
  	ctx->nbss_assigned++;
  
  	mutex_unlock(&phy->dev->mt76.mutex);
-@@ -1807,6 +1866,7 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1806,6 +1865,7 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_chanctx *ctx = mt7996_chanctx_get(conf);
  	struct mt7996_phy *phy = ctx->phy;
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -873,7 +873,7 @@
  
  	wiphy_info(hw->wiphy, "Remove VIF (addr: %pM, type: %d, link_id: %d) from channel context: %d MHz\n",
  		   vif->addr, vif->type, link_conf->link_id,
-@@ -1818,7 +1878,8 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1817,7 +1877,8 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	if (test_bit(MT76_SCANNING, &phy->mt76->state))
  		mt7996_scan_complete(phy, true);
  
@@ -884,7 +884,7 @@
  
  	mutex_unlock(&phy->dev->mt76.mutex);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index ba53c3fc..b2eed253 100644
+index b8bfcbf..cdc019f 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -122,12 +122,12 @@ mt7996_mcu_get_sta_nss(u16 mcs_map)
@@ -2117,7 +2117,7 @@
  }
  #endif
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 7d416f30..be966c18 100644
+index 7d416f3..be966c1 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -326,18 +326,25 @@ struct mt7996_sta {
@@ -2274,7 +2274,7 @@
  int mt7996_mcu_cp_support(struct mt7996_dev *dev, u8 mode);
  int mt7996_mcu_set_pp_en(struct mt7996_phy *phy, u8 mode, u16 bitmap);
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 5a8b6d0a..042da4e4 100644
+index 5a8b6d0..042da4e 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -229,6 +229,7 @@ static void
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0079-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0079-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch
index f88fbcf..0c4cd05 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0079-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0079-mtk-mt76-mt7996-switch-to-per-link-data-structure-of.patch
@@ -1,7 +1,7 @@
-From ca4c360d853ec0678da7b08c9b524334b931eeda Mon Sep 17 00:00:00 2001
+From 299020207d66edd409fa16260c310c8bd0a6c316 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 27 Nov 2023 10:43:34 +0800
-Subject: [PATCH 079/223] mtk: mt76: mt7996: switch to per-link data structure
+Subject: [PATCH 079/193] mtk: mt76: mt7996: switch to per-link data structure
  of sta
 
 Introduce struct mt7996_link_sta, data structure for per-link STA.
@@ -22,7 +22,7 @@
  6 files changed, 461 insertions(+), 368 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 792ace03..786bdc38 100644
+index 792ace0..786bdc3 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -726,14 +726,15 @@ static void
@@ -97,7 +97,7 @@
  	phy.ltf = cpu_to_le16(ltf);
  	phy.ldpc = phy.ldpc ? 7 : 0;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 8f743125..8b682842 100644
+index 8f74312..8b68284 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -54,7 +54,7 @@ static const struct mt7996_dfs_radar_spec jp_radar_specs = {
@@ -443,7 +443,7 @@
  
  	rcu_read_unlock();
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 8d919dd0..98afb057 100644
+index f81df91..095892a 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -229,6 +229,7 @@ static int mt7996_add_interface(struct ieee80211_hw *hw,
@@ -601,7 +601,7 @@
  out:
  	mutex_unlock(&dev->mt76.mutex);
  
-@@ -714,25 +721,27 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
+@@ -713,25 +720,27 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
  {
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_bss_conf *mconf;
@@ -632,7 +632,7 @@
  
  	if (changed & BSS_CHANGED_ERP_SLOT) {
  		int slottime = info->use_short_slot ? 9 : 20;
-@@ -803,6 +812,7 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -802,6 +811,7 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_bss_conf *mconf = mconf_dereference_protected(mvif, 0);
@@ -640,7 +640,7 @@
  	u8 band_idx = mconf->phy->mt76->band_idx;
  	int idx;
  
-@@ -814,13 +824,16 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -813,13 +823,16 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	if (idx < 0)
  		return -ENOSPC;
  
@@ -663,7 +663,7 @@
  
  #ifdef CONFIG_MTK_VENDOR
  	mt7996_vendor_amnt_sta_remove(mconf->phy, sta);
-@@ -853,7 +866,9 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -852,7 +865,9 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_bss_conf *mconf;
@@ -673,7 +673,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -863,10 +878,17 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -862,10 +877,17 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  
  		conf = link_conf_dereference_protected(vif, 0);
  		mconf = mconf_dereference_protected(mvif, 0);
@@ -694,7 +694,7 @@
  	}
  
  	mutex_unlock(&dev->mt76.mutex);
-@@ -879,25 +901,31 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -878,25 +900,31 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_bss_conf *mconf;
@@ -734,7 +734,7 @@
  }
  
  static void mt7996_tx(struct ieee80211_hw *hw,
-@@ -909,19 +937,22 @@ static void mt7996_tx(struct ieee80211_hw *hw,
+@@ -908,19 +936,22 @@ static void mt7996_tx(struct ieee80211_hw *hw,
  	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
  	struct ieee80211_vif *vif = info->control.vif;
  	struct mt76_wcid *wcid = &dev->mt76.global_wcid;
@@ -761,7 +761,7 @@
  	}
  
  	mt76_tx(mphy, control->sta, wcid, skb);
-@@ -948,6 +979,7 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -947,6 +978,7 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct ieee80211_sta *sta = params->sta;
  	struct ieee80211_txq *txq = sta->txq[params->tid];
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -769,7 +769,7 @@
  	u16 tid = params->tid;
  	u16 ssn = params->ssn;
  	struct mt76_txq *mtxq;
-@@ -959,14 +991,15 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -958,14 +990,15 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	mtxq = (struct mt76_txq *)txq->drv_priv;
  
  	mutex_lock(&dev->mt76.mutex);
@@ -787,7 +787,7 @@
  		ret = mt7996_mcu_add_rx_ba(dev, params, false);
  		break;
  	case IEEE80211_AMPDU_TX_OPERATIONAL:
-@@ -977,16 +1010,16 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -976,16 +1009,16 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	case IEEE80211_AMPDU_TX_STOP_FLUSH:
  	case IEEE80211_AMPDU_TX_STOP_FLUSH_CONT:
  		mtxq->aggr = false;
@@ -807,7 +807,7 @@
  		ret = mt7996_mcu_add_tx_ba(dev, params, false);
  		ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
  		break;
-@@ -1165,10 +1198,19 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
+@@ -1164,10 +1197,19 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
  				  struct ieee80211_sta *sta,
  				  struct station_info *sinfo)
  {
@@ -828,7 +828,7 @@
  	if (txrate->legacy || txrate->flags) {
  		if (txrate->legacy) {
  			sinfo->txrate.legacy = txrate->legacy;
-@@ -1187,44 +1229,52 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
+@@ -1186,44 +1228,52 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
  	sinfo->txrate.flags = txrate->flags;
  	sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_BITRATE);
  
@@ -892,7 +892,7 @@
  }
  
  static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
-@@ -1238,7 +1288,7 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
+@@ -1237,7 +1287,7 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
  
  	if (!msta->vif) {
  		dev_warn(dev->mt76.dev, "Un-initialized STA %pM wcid %d in rc_work\n",
@@ -901,7 +901,7 @@
  		return;
  	}
  
-@@ -1284,16 +1334,18 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
+@@ -1283,16 +1333,18 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_bss_conf *mconf;
@@ -923,7 +923,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -1306,16 +1358,18 @@ static void mt7996_sta_set_decap_offload(struct ieee80211_hw *hw,
+@@ -1305,16 +1357,18 @@ static void mt7996_sta_set_decap_offload(struct ieee80211_hw *hw,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_bss_conf *mconf;
@@ -945,7 +945,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -1448,11 +1502,12 @@ static void mt7996_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
+@@ -1447,11 +1501,12 @@ static void mt7996_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
  {
  	struct mt76_ethtool_worker_info *wi = wi_data;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -959,7 +959,7 @@
  }
  
  static
-@@ -1555,10 +1610,12 @@ mt7996_twt_teardown_request(struct ieee80211_hw *hw,
+@@ -1554,10 +1609,12 @@ mt7996_twt_teardown_request(struct ieee80211_hw *hw,
  			    u8 flowid)
  {
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -973,7 +973,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -1681,6 +1738,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1680,6 +1737,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_bss_conf *mconf = &mvif->deflink;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -981,7 +981,7 @@
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mtk_wed_device *wed = &dev->mt76.mmio.wed;
-@@ -1703,7 +1761,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1702,7 +1760,7 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	if (!mtk_wed_device_active(wed))
  		return -ENODEV;
  
@@ -990,7 +990,7 @@
  		return -EIO;
  
  	path->type = DEV_PATH_MTK_WDMA;
-@@ -1711,11 +1769,11 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -1710,11 +1768,11 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	path->mtk_wdma.wdma_idx = wed->wdma_idx;
  	path->mtk_wdma.bss = mconf->mt76.idx;
  	path->mtk_wdma.queue = 0;
@@ -1005,7 +1005,7 @@
  		path->mtk_wdma.amsdu = 0;
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index b2eed253..ced769b4 100644
+index cdc019f..af9a838 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -122,13 +122,13 @@ mt7996_mcu_get_sta_nss(u16 mcs_map)
@@ -2127,7 +2127,7 @@
  
  	switch (id) {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index be966c18..d86e24e3 100644
+index be966c1..d86e24e 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -304,10 +304,10 @@ struct mt7996_vow_sta_ctrl {
@@ -2252,7 +2252,7 @@
  int mt7996_mcu_set_pp_en(struct mt7996_phy *phy, u8 mode, u16 bitmap);
  #ifdef CONFIG_MAC80211_DEBUGFS
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 042da4e4..be224373 100644
+index 042da4e..be22437 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -241,8 +241,8 @@ mt7996_tm_init(struct mt7996_phy *phy, bool en)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0080-mtk-mt76-extend-wcid-and-sta-flow-for-MLO-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0080-mtk-mt76-extend-wcid-and-sta-flow-for-MLO-support.patch
index 1e46e08..5d0aa77 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0080-mtk-mt76-extend-wcid-and-sta-flow-for-MLO-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0080-mtk-mt76-extend-wcid-and-sta-flow-for-MLO-support.patch
@@ -1,7 +1,7 @@
-From 9e98b6657ff1144c273e85a2b0b04c05c813443b Mon Sep 17 00:00:00 2001
+From 5ce82da2b53f2541d97eff0dcbc3411bef435d17 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 29 Nov 2023 11:04:50 +0800
-Subject: [PATCH 080/223] mtk: mt76: extend wcid and sta flow for MLO support
+Subject: [PATCH 080/193] mtk: mt76: extend wcid and sta flow for MLO support
 
 Add link related info to wcid, and split sta connection flow of common
 parts for MLO supported chipsets.
@@ -16,7 +16,7 @@
  1 file changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index cad85f19..ec73fe00 100644
+index cad85f1..ec73fe0 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -1393,6 +1393,9 @@ mt76_sta_add(struct mt76_phy *phy, struct ieee80211_vif *vif,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0081-mtk-mt76-mt7996-enable-MLO-capability.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0081-mtk-mt76-mt7996-enable-MLO-capability.patch
index ff5469a..927fe40 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0081-mtk-mt76-mt7996-enable-MLO-capability.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0081-mtk-mt76-mt7996-enable-MLO-capability.patch
@@ -1,7 +1,7 @@
-From e58436183460b0f31ba597c8dba7b839101f494f Mon Sep 17 00:00:00 2001
+From b63cdf42665f2f3a21e860b1dca4b991db4a3ec6 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 30 Nov 2023 16:31:17 +0800
-Subject: [PATCH 081/223] mtk: mt76: mt7996: enable MLO capability
+Subject: [PATCH 081/193] mtk: mt76: mt7996: enable MLO capability
 
 This is a preliminary patch to add MLO support for mt7996 chipsets.
 
@@ -12,7 +12,7 @@
  2 files changed, 42 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index f9bd4d91..8272ead2 100644
+index f9bd4d9..8272ead 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -422,6 +422,12 @@ static int mt7996_eeprom_parse_band_config(struct mt7996_phy *phy)
@@ -29,10 +29,10 @@
  }
  
 diff --git a/mt7996/init.c b/mt7996/init.c
-index f5bff109..cedadefc 100644
+index 1a3b867..8240735 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -35,7 +35,7 @@ static const struct ieee80211_iface_combination if_comb[] = {
+@@ -32,7 +32,7 @@ static const struct ieee80211_iface_combination if_comb[] = {
  		.limits = if_limits,
  		.n_limits = ARRAY_SIZE(if_limits),
  		.max_interfaces = MT7996_MAX_INTERFACES,
@@ -41,7 +41,7 @@
  		.beacon_int_infra_match = true,
  		.radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
  				       BIT(NL80211_CHAN_WIDTH_20) |
-@@ -46,6 +46,33 @@ static const struct ieee80211_iface_combination if_comb[] = {
+@@ -43,6 +43,33 @@ static const struct ieee80211_iface_combination if_comb[] = {
  	}
  };
  
@@ -75,7 +75,7 @@
  static ssize_t mt7996_thermal_temp_show(struct device *dev,
  					struct device_attribute *attr,
  					char *buf)
-@@ -419,8 +446,9 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -416,8 +443,9 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	ieee80211_hw_set(hw, SUPPORTS_TX_ENCAP_OFFLOAD);
  	ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD);
  	ieee80211_hw_set(hw, WANT_MONITOR_VIF);
@@ -86,7 +86,7 @@
  
  	hw->max_tx_fragments = 4;
  
-@@ -464,6 +492,12 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -461,6 +489,12 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  
  	wiphy->max_scan_ssids = 4;
  	wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN;
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0082-mtk-mt76-mt7996-support-multi-link-vif-links-and-MLO.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0082-mtk-mt76-mt7996-support-multi-link-vif-links-and-MLO.patch
index 7d6ed45..e28e171 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0082-mtk-mt76-mt7996-support-multi-link-vif-links-and-MLO.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0082-mtk-mt76-mt7996-support-multi-link-vif-links-and-MLO.patch
@@ -1,7 +1,7 @@
-From 59199b2eabeb1d8ce11bf644c4ecd565a385c663 Mon Sep 17 00:00:00 2001
+From bc299e0b13412752d12524742ed9a4ff7e28c2bf Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 23 Nov 2023 18:22:11 +0800
-Subject: [PATCH 082/223] mtk: mt76: mt7996: support multi-link vif links and
+Subject: [PATCH 082/193] mtk: mt76: mt7996: support multi-link vif links and
  MLO bss callbacks
 
 Rework add/remove interface functions to add/remove bss_conf functions,
@@ -18,7 +18,7 @@
  3 files changed, 267 insertions(+), 66 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 98afb057..dc7ee54c 100644
+index 095892a..c532062 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -205,6 +205,38 @@ static int get_omac_idx(enum nl80211_iftype type, u64 mask)
@@ -284,7 +284,7 @@
  
  	mutex_unlock(&dev->mt76.mutex);
  }
-@@ -714,10 +815,31 @@ mt7996_update_mu_group(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
+@@ -713,10 +814,31 @@ mt7996_update_mu_group(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
  	mt76_wr(dev, MT_WF_PHYRX_BAND_GID_TAB_POS3(band), mu[3]);
  }
  
@@ -320,7 +320,7 @@
  {
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_bss_conf *mconf;
-@@ -733,7 +855,6 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
+@@ -732,7 +854,6 @@ static void mt7996_bss_info_changed(struct ieee80211_hw *hw,
  	 * and then peer references bss_info_rfch to set bandwidth cap.
  	 */
  	if ((changed & BSS_CHANGED_BSSID && !is_zero_ether_addr(info->bssid)) ||
@@ -328,7 +328,7 @@
  	    (changed & BSS_CHANGED_BEACON_ENABLED && info->enable_beacon)) {
  		mt7996_mcu_add_bss_info(phy, info, mconf, mlink, true);
  		mt7996_mcu_add_sta(dev, info, mconf, NULL, mlink, true,
-@@ -1081,7 +1202,7 @@ mt7996_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -1080,7 +1201,7 @@ mt7996_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  	u64 ret;
  
  	mutex_lock(&dev->mt76.mutex);
@@ -337,7 +337,7 @@
  	ret = __mt7996_get_tsf(hw, mconf);
  	mutex_unlock(&dev->mt76.mutex);
  
-@@ -1104,7 +1225,7 @@ mt7996_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1103,7 +1224,7 @@ mt7996_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mutex_lock(&dev->mt76.mutex);
  
@@ -346,7 +346,7 @@
  	n = mconf->mt76.omac_idx > HW_BSSID_MAX ? HW_BSSID_0
  					       : mconf->mt76.omac_idx;
  	mt76_wr(dev, MT_LPON_UTTR0(phy->mt76->band_idx), tsf.t32[0]);
-@@ -1132,7 +1253,7 @@ mt7996_offset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1131,7 +1252,7 @@ mt7996_offset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mutex_lock(&dev->mt76.mutex);
  
@@ -355,7 +355,7 @@
  	n = mconf->mt76.omac_idx > HW_BSSID_MAX ? HW_BSSID_0
  					       : mconf->mt76.omac_idx;
  	mt76_wr(dev, MT_LPON_UTTR0(phy->mt76->band_idx), tsf.t32[0]);
-@@ -1307,7 +1428,7 @@ mt7996_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1306,7 +1427,7 @@ mt7996_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	u32 changed = IEEE80211_RC_SUPP_RATES_CHANGED;
  
  	mutex_lock(&dev->mt76.mutex);
@@ -364,7 +364,7 @@
  	mconf->bitrate_mask = *mask;
  	mutex_unlock(&dev->mt76.mutex);
  
-@@ -1527,7 +1648,7 @@ void mt7996_get_et_stats(struct ieee80211_hw *hw,
+@@ -1526,7 +1647,7 @@ void mt7996_get_et_stats(struct ieee80211_hw *hw,
  	int i, ei = 0;
  
  	mutex_lock(&dev->mt76.mutex);
@@ -373,7 +373,7 @@
  	wi.idx = mconf->mt76.idx,
  
  	mt7996_mac_update_stats(phy);
-@@ -1900,6 +2021,8 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1899,6 +2020,8 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_phy *phy = ctx->phy;
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_bss_conf *mconf;
@@ -382,7 +382,7 @@
  
  	wiphy_info(hw->wiphy, "Assign VIF (addr: %pM, type: %d, link_id: %d) to channel context: %d MHz\n",
  		    vif->addr, vif->type, link_conf->link_id,
-@@ -1907,10 +2030,24 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1906,10 +2029,24 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mutex_lock(&phy->dev->mt76.mutex);
  
@@ -408,7 +408,7 @@
  	mutex_unlock(&phy->dev->mt76.mutex);
  
  	return 0;
-@@ -1936,7 +2073,7 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1935,7 +2072,7 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	if (test_bit(MT76_SCANNING, &phy->mt76->state))
  		mt7996_scan_complete(phy, true);
  
@@ -417,7 +417,7 @@
  	mconf->chanctx = NULL;
  	ctx->nbss_assigned--;
  
-@@ -1976,6 +2113,54 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
+@@ -1975,6 +2112,54 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
  	return mt7996_set_channel(phy, &new_ctx->chandef);
  }
  
@@ -472,7 +472,7 @@
  const struct ieee80211_ops mt7996_ops = {
  	.add_chanctx = ieee80211_emulate_add_chanctx,
  	.remove_chanctx = ieee80211_emulate_remove_chanctx,
-@@ -1989,7 +2174,8 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -1988,7 +2173,8 @@ const struct ieee80211_ops mt7996_ops = {
  	.config = mt7996_config,
  	.conf_tx = mt7996_conf_tx,
  	.configure_filter = mt7996_configure_filter,
@@ -482,14 +482,14 @@
  	.sta_state = mt76_sta_state,
  	.sta_pre_rcu_remove = mt76_sta_pre_rcu_remove,
  	.sta_rc_update = mt7996_sta_rc_update,
-@@ -2035,4 +2221,5 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2034,4 +2220,5 @@ const struct ieee80211_ops mt7996_ops = {
  	.assign_vif_chanctx = mt7996_assign_vif_chanctx,
  	.unassign_vif_chanctx = mt7996_unassign_vif_chanctx,
  	.switch_vif_chanctx = mt7996_switch_vif_chanctx,
 +	.change_vif_links = mt7996_change_vif_links,
  };
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index ced769b4..081e9ca9 100644
+index af9a838..0384ec2 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1052,15 +1052,23 @@ static void
@@ -549,7 +549,7 @@
  
  	if (vif->type == NL80211_IFTYPE_MONITOR)
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index d86e24e3..9b9b1f8f 100644
+index d86e24e..9b9b1f8 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -342,6 +342,9 @@ struct mt7996_bss_conf {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0083-mtk-mt76-mt7996-support-multi-link-sta-links-and-MLO.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0083-mtk-mt76-mt7996-support-multi-link-sta-links-and-MLO.patch
index 19b0be2..c8d5f3f 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0083-mtk-mt76-mt7996-support-multi-link-sta-links-and-MLO.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0083-mtk-mt76-mt7996-support-multi-link-sta-links-and-MLO.patch
@@ -1,7 +1,7 @@
-From 62e749b2b89a799e0d137983f4dabc1eeb3ebad8 Mon Sep 17 00:00:00 2001
+From 5bdefd0e1869aadb1d4d0188a670040a25ca4fad Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 29 Nov 2023 10:12:39 +0800
-Subject: [PATCH 083/223] mtk: mt76: mt7996: support multi-link sta links and
+Subject: [PATCH 083/193] mtk: mt76: mt7996: support multi-link sta links and
  MLO sta callbacks
 
 Rework add_sta functions to add_link_sta functions, and support
@@ -19,10 +19,10 @@
  4 files changed, 400 insertions(+), 71 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index dc7ee54c..106e8534 100644
+index c532062..7da2047 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -926,42 +926,234 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
+@@ -925,42 +925,234 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
  	mutex_unlock(&dev->mt76.mutex);
  }
  
@@ -277,7 +277,7 @@
  	case MT_BAND1:
  		phy = mt7996_phy2(dev);
  		break;
-@@ -984,69 +1176,26 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -983,69 +1175,26 @@ int mt7996_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  			 struct ieee80211_sta *sta, enum mt76_sta_event ev)
  {
  	struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
@@ -355,7 +355,7 @@
  }
  
  static void mt7996_tx(struct ieee80211_hw *hw,
-@@ -2161,6 +2310,32 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2160,6 +2309,32 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	return ret;
  }
  
@@ -388,14 +388,14 @@
  const struct ieee80211_ops mt7996_ops = {
  	.add_chanctx = ieee80211_emulate_add_chanctx,
  	.remove_chanctx = ieee80211_emulate_remove_chanctx,
-@@ -2222,4 +2397,5 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2221,4 +2396,5 @@ const struct ieee80211_ops mt7996_ops = {
  	.unassign_vif_chanctx = mt7996_unassign_vif_chanctx,
  	.switch_vif_chanctx = mt7996_switch_vif_chanctx,
  	.change_vif_links = mt7996_change_vif_links,
 +	.change_sta_links = mt7996_change_sta_links,
  };
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 081e9ca9..96d4d5b0 100644
+index 0384ec2..aeeb393 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2433,6 +2433,123 @@ out:
@@ -523,7 +523,7 @@
  mt7996_mcu_sta_key_tlv(struct mt76_wcid *wcid,
  		       struct sk_buff *skb,
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index b15796dc..23d44cd3 100644
+index b15796d..23d44cd 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -692,6 +692,35 @@ struct sta_rec_hdr_trans {
@@ -563,7 +563,7 @@
  	__le16 tag;
  	__le16 len;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 9b9b1f8f..f6933418 100644
+index 9b9b1f8..f693341 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -331,6 +331,8 @@ struct mt7996_sta {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0084-mtk-mt76-mt7996-introduce-mt7996_band_phy-for-ch-ban.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0084-mtk-mt76-mt7996-introduce-mt7996_band_phy-for-ch-ban.patch
index 96da326..c9cbee3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0084-mtk-mt76-mt7996-introduce-mt7996_band_phy-for-ch-ban.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0084-mtk-mt76-mt7996-introduce-mt7996_band_phy-for-ch-ban.patch
@@ -1,7 +1,7 @@
-From a77bf1528855525590647055a6d5c4b760946efc Mon Sep 17 00:00:00 2001
+From b13eef9898fec66dde706874155a5325d4244b1e Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 1 Dec 2023 16:01:53 +0800
-Subject: [PATCH 084/223] mtk: mt76: mt7996: introduce mt7996_band_phy() for ch
+Subject: [PATCH 084/193] mtk: mt76: mt7996: introduce mt7996_band_phy() for ch
  band and phy mapping
 
 For MLO devices, one ieee80211_hw can be mapped to several bands, and
@@ -16,7 +16,7 @@
  2 files changed, 112 insertions(+), 59 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 106e8534..ae1b2875 100644
+index 7da2047..6cff54f 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -41,9 +41,8 @@ static void mt7996_testmode_disable_all(struct mt7996_dev *dev)
@@ -187,7 +187,7 @@
  }
  
  static inline int get_free_idx(u32 mask, u8 start, u8 end)
-@@ -2059,7 +2079,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2058,7 +2078,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	       struct ieee80211_scan_request *hw_req)
  {
  	struct cfg80211_scan_request *req = &hw_req->req;
@@ -196,7 +196,7 @@
  
  	mutex_lock(&phy->dev->mt76.mutex);
  	if (WARN_ON(phy->scan_req || phy->scan_chan)) {
-@@ -2081,19 +2101,30 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2080,19 +2100,30 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  static void
  mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  {
@@ -234,7 +234,7 @@
  	int ret;
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index f6933418..38b924b5 100644
+index f693341..38b924b 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -793,6 +793,28 @@ mt7996_has_background_radar(struct mt7996_dev *dev)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0085-mtk-mt76-mt7996-rework-ieee80211_ops-callbacks-for-l.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0085-mtk-mt76-mt7996-rework-ieee80211_ops-callbacks-for-l.patch
index f87ae95..aca1d87 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0085-mtk-mt76-mt7996-rework-ieee80211_ops-callbacks-for-l.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0085-mtk-mt76-mt7996-rework-ieee80211_ops-callbacks-for-l.patch
@@ -1,7 +1,7 @@
-From 088cb092b3a6b3387d2d6f7ee5100ac803ff626a Mon Sep 17 00:00:00 2001
+From 37fa4373e33da2f65b06318e86a30256aef4f3d9 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 1 Dec 2023 17:26:43 +0800
-Subject: [PATCH 085/223] mtk: mt76: mt7996: rework ieee80211_ops callbacks for
+Subject: [PATCH 085/193] mtk: mt76: mt7996: rework ieee80211_ops callbacks for
  link consideration
 
 Extend ieee80211 callback functions to support multi-link operation.
@@ -15,7 +15,7 @@
  1 file changed, 204 insertions(+), 109 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index ae1b2875..580cb2a5 100644
+index 6cff54f..f6b02b8 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -566,7 +566,6 @@ static int mt7996_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
@@ -172,7 +172,7 @@
  
  	/* firmware uses access class index */
  	mconf->queue_params[mq_to_aci[queue]] = *params;
-@@ -838,19 +848,26 @@ mt7996_update_mu_group(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
+@@ -837,19 +847,26 @@ mt7996_update_mu_group(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
  static void mt7996_vif_cfg_changed(struct ieee80211_hw *hw,
  				   struct ieee80211_vif *vif, u64 changed)
  {
@@ -206,7 +206,7 @@
  	}
  
  	mutex_unlock(&dev->mt76.mutex);
-@@ -869,8 +886,13 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
+@@ -868,8 +885,13 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
  
  	mutex_lock(&dev->mt76.mutex);
  
@@ -222,7 +222,7 @@
  	/* station mode uses BSSID to map the wlan entry to a peer,
  	 * and then peer references bss_info_rfch to set bandwidth cap.
  	 */
-@@ -926,6 +948,7 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
+@@ -925,6 +947,7 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
  	if (changed & BSS_CHANGED_MU_GROUPS)
  		mt7996_update_mu_group(hw, info, mconf);
  
@@ -230,7 +230,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -936,13 +959,22 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
+@@ -935,13 +958,22 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
  {
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -258,7 +258,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -1218,34 +1250,74 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -1217,34 +1249,74 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	mt7996_mac_sta_remove_links(dev, vif, sta, rem);
  }
  
@@ -345,7 +345,7 @@
  }
  
  static int mt7996_set_rts_threshold(struct ieee80211_hw *hw, u32 val)
-@@ -1281,7 +1353,7 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1280,7 +1352,7 @@ mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	mtxq = (struct mt76_txq *)txq->drv_priv;
  
  	mutex_lock(&dev->mt76.mutex);
@@ -354,7 +354,7 @@
  	switch (action) {
  	case IEEE80211_AMPDU_RX_START:
  		mt76_rx_aggr_start(&dev->mt76, &mlink->wcid, tid, ssn,
-@@ -1496,7 +1568,7 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
+@@ -1495,7 +1567,7 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
  
  	/* TODO: support per-link rate report */
  	mutex_lock(&dev->mt76.mutex);
@@ -363,7 +363,7 @@
  	if (!mlink)
  		goto out;
  
-@@ -1556,7 +1628,7 @@ static void mt7996_sta_rc_work(void *data, struct ieee80211_sta *sta)
+@@ -1555,7 +1627,7 @@ static void mt7996_sta_rc_work(void *data, struct ieee80211_sta *sta)
  	u32 *changed = data;
  
  	rcu_read_lock();
@@ -372,7 +372,7 @@
  
  	spin_lock_bh(&dev->mt76.sta_poll_lock);
  	mlink->changed |= *changed;
-@@ -1623,19 +1695,26 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
+@@ -1622,19 +1694,26 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -408,7 +408,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -1647,19 +1726,26 @@ static void mt7996_sta_set_decap_offload(struct ieee80211_hw *hw,
+@@ -1646,19 +1725,26 @@ static void mt7996_sta_set_decap_offload(struct ieee80211_hw *hw,
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -444,7 +444,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -1792,9 +1878,13 @@ static void mt7996_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
+@@ -1791,9 +1877,13 @@ static void mt7996_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
  {
  	struct mt76_ethtool_worker_info *wi = wi_data;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -460,7 +460,7 @@
  		return;
  
  	mt76_ethtool_worker(wi, &mlink->wcid.stats, true);
-@@ -2026,12 +2116,13 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -2025,12 +2115,13 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  			     struct net_device_path *path)
  {
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -476,7 +476,7 @@
  
  	if (dev->hif2) {
  		switch (dev->option_type) {
-@@ -2051,6 +2142,10 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -2050,6 +2141,10 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  	if (!mtk_wed_device_active(wed))
  		return -ENODEV;
  
@@ -487,7 +487,7 @@
  	if (mlink->wcid.idx > MT7996_WTBL_STA)
  		return -EIO;
  
-@@ -2383,7 +2478,7 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2382,7 +2477,7 @@ const struct ieee80211_ops mt7996_ops = {
  	.vif_cfg_changed = mt7996_vif_cfg_changed,
  	.link_info_changed = mt7996_link_info_changed,
  	.sta_state = mt76_sta_state,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0086-mtk-mt76-mt7996-rework-TXD-for-multi-link-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0086-mtk-mt76-mt7996-rework-TXD-for-multi-link-support.patch
index 9b5eeed..f14cbfe 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0086-mtk-mt76-mt7996-rework-TXD-for-multi-link-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0086-mtk-mt76-mt7996-rework-TXD-for-multi-link-support.patch
@@ -1,7 +1,7 @@
-From ee502aed06bf89606b05b5ac3e2d89b766de7772 Mon Sep 17 00:00:00 2001
+From d6863b43e892718e59245501afd54e322ba1ecc2 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 4 Dec 2023 11:25:54 +0800
-Subject: [PATCH 086/223] mtk: mt76: mt7996: rework TXD for multi-link support
+Subject: [PATCH 086/193] mtk: mt76: mt7996: rework TXD for multi-link support
 
 This is a preliminary patch to add MLO support for mt7996 chipsets.
 
@@ -14,7 +14,7 @@
  2 files changed, 73 insertions(+), 24 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 8b682842..26878e29 100644
+index 8b68284..26878e2 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -627,9 +627,8 @@ mt7996_mac_write_txwi_8023(struct mt7996_dev *dev, __le32 *txwi,
@@ -179,7 +179,7 @@
  	txp->fw.rept_wds_wcid = cpu_to_le16(sta ? wcid->idx : 0xfff);
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 38b924b5..bde3bec1 100644
+index 38b924b..bde3bec 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -835,6 +835,15 @@ mlink_dereference_protected(struct mt7996_sta *msta, u8 link_id)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0087-mtk-mt76-mt7996-rework-TXS-for-multi-link-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0087-mtk-mt76-mt7996-rework-TXS-for-multi-link-support.patch
index 8191d6a..32cb8a3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0087-mtk-mt76-mt7996-rework-TXS-for-multi-link-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0087-mtk-mt76-mt7996-rework-TXS-for-multi-link-support.patch
@@ -1,7 +1,7 @@
-From 40622f831dbacee3a7b35c3786fd81d0abf733bd Mon Sep 17 00:00:00 2001
+From 5407ee03fdd87741ef778a14a3a15b4ab12ec7ee Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 4 Dec 2023 11:57:38 +0800
-Subject: [PATCH 087/223] mtk: mt76: mt7996: rework TXS for multi-link support
+Subject: [PATCH 087/193] mtk: mt76: mt7996: rework TXS for multi-link support
 
 This is a preliminary patch to add MLO support for mt7996 chipsets.
 
@@ -25,7 +25,7 @@
  3 files changed, 34 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 26878e29..92628e17 100644
+index 26878e2..92628e1 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1207,7 +1207,7 @@ mt7996_mac_add_txs_skb(struct mt7996_dev *dev, struct mt76_wcid *wcid,
@@ -47,10 +47,10 @@
  	if (list_empty(&mlink->wcid.poll_list))
  		list_add_tail(&mlink->wcid.poll_list, &dev->mt76.sta_poll_list);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 580cb2a5..cadfee9f 100644
+index f6b02b8..743a7a8 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2319,6 +2319,7 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2318,6 +2318,7 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	mconf = mconf_dereference_protected(mvif, link_id);
  	mconf->chanctx = ctx;
  	ctx->nbss_assigned++;
@@ -59,7 +59,7 @@
  	if (mt7996_hw_phy(hw) == phy)
  		mvif->master_link_id = link_id;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index bde3bec1..f83308de 100644
+index bde3bec..f83308d 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -359,6 +359,8 @@ struct mt7996_vif {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0088-mtk-mt76-mt7996-rework-RXD-for-multi-link-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0088-mtk-mt76-mt7996-rework-RXD-for-multi-link-support.patch
index ab34986..12976ca 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0088-mtk-mt76-mt7996-rework-RXD-for-multi-link-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0088-mtk-mt76-mt7996-rework-RXD-for-multi-link-support.patch
@@ -1,7 +1,7 @@
-From c30c021612cad8eefe3cae1b4cca929ab5a2d7fd Mon Sep 17 00:00:00 2001
+From f7d5ebc7b839a6f6601f829b5b34d86c86510cf9 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 4 Dec 2023 14:50:47 +0800
-Subject: [PATCH 088/223] mtk: mt76: mt7996: rework RXD for multi-link support
+Subject: [PATCH 088/193] mtk: mt76: mt7996: rework RXD for multi-link support
 
 This is a preliminary patch to add MLO support for mt7996 chipsets.
 
@@ -13,7 +13,7 @@
  1 file changed, 2 insertions(+), 25 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 92628e17..98cd7e3b 100644
+index 92628e1..98cd7e3 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -51,29 +51,6 @@ static const struct mt7996_dfs_radar_spec jp_radar_specs = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0089-mtk-mt76-mt7996-rework-mac-functions-for-multi-link-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0089-mtk-mt76-mt7996-rework-mac-functions-for-multi-link-.patch
index 29c724a..d54ef9c 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0089-mtk-mt76-mt7996-rework-mac-functions-for-multi-link-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0089-mtk-mt76-mt7996-rework-mac-functions-for-multi-link-.patch
@@ -1,7 +1,7 @@
-From 83a66d966beb9a326c0a75641d21e562306cc8ab Mon Sep 17 00:00:00 2001
+From fce8d7b3e928e4d56389fbc3460717ce3be1cd90 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 4 Dec 2023 18:31:02 +0800
-Subject: [PATCH 089/223] mtk: mt76: mt7996: rework mac functions for
+Subject: [PATCH 089/193] mtk: mt76: mt7996: rework mac functions for
  multi-link support
 
 This is a preliminary patch to add MLO support for mt7996 chipsets.
@@ -14,7 +14,7 @@
  1 file changed, 65 insertions(+), 26 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 98cd7e3b..c4cd5bc2 100644
+index 98cd7e3..c4cd5bc 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -85,10 +85,11 @@ static int mt7996_reverse_frag0_hdr_trans(struct sk_buff *skb, u16 hdr_gap)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0090-mtk-mt76-rework-mcu-functions-for-multi-link-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0090-mtk-mt76-rework-mcu-functions-for-multi-link-support.patch
index 646fbf5..5c5cefe 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0090-mtk-mt76-rework-mcu-functions-for-multi-link-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0090-mtk-mt76-rework-mcu-functions-for-multi-link-support.patch
@@ -1,7 +1,7 @@
-From d3bc0fc0ebebd8cff5549930cb7b5c336fb2b5f4 Mon Sep 17 00:00:00 2001
+From fb9580cf1c7472f764aa260590a7e522a016ec0b Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 7 Dec 2023 15:39:03 +0800
-Subject: [PATCH 090/223] mtk: mt76: rework mcu functions for multi-link
+Subject: [PATCH 090/193] mtk: mt76: rework mcu functions for multi-link
  support
 
 This is a preliminary patch to add MLO support for mt7996 chipsets.
@@ -15,7 +15,7 @@
  3 files changed, 56 insertions(+), 26 deletions(-)
 
 diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
-index c7145074..0c89222b 100644
+index c714507..0c89222 100644
 --- a/mt76_connac_mcu.c
 +++ b/mt76_connac_mcu.c
 @@ -370,10 +370,11 @@ void mt76_connac_mcu_bss_omac_tlv(struct sk_buff *skb,
@@ -54,7 +54,7 @@
  					      info->newly);
  	if (info->sta && info->enable)
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 11a1224a..ff8a314c 100644
+index 11a1224..ff8a314 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1928,7 +1928,7 @@ mt76_connac_mcu_add_tlv(struct sk_buff *skb, int tag, int len)
@@ -67,7 +67,7 @@
  				   int state, bool newly);
  void mt76_connac_mcu_wtbl_generic_tlv(struct mt76_dev *dev, struct sk_buff *skb,
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 96d4d5b0..7b77cab2 100644
+index aeeb393..cb6f126 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1174,10 +1174,12 @@ mt7996_mcu_bss_basic_tlv(struct sk_buff *skb, struct ieee80211_bss_conf *conf,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0091-mtk-mt76-rework-connac-helpers.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0091-mtk-mt76-rework-connac-helpers.patch
index b1e017c..bb8adbb 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0091-mtk-mt76-rework-connac-helpers.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0091-mtk-mt76-rework-connac-helpers.patch
@@ -1,7 +1,7 @@
-From 2e58003c154277e36f759a53975c61cbecb9af02 Mon Sep 17 00:00:00 2001
+From c99ed4b7cd1933dd8098e20f40338047894ed505 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 11 Dec 2023 18:45:00 +0800
-Subject: [PATCH 091/223] mtk: mt76: rework connac helpers
+Subject: [PATCH 091/193] mtk: mt76: rework connac helpers
 
 Rework connac helpers related to rate and phymode.
 This is a preliminary patch to add MLO support for mt7996 chipsets.
@@ -20,7 +20,7 @@
  7 files changed, 16 insertions(+), 17 deletions(-)
 
 diff --git a/mt76_connac.h b/mt76_connac.h
-index 445d0f0a..f7766a98 100644
+index 445d0f0..f7766a9 100644
 --- a/mt76_connac.h
 +++ b/mt76_connac.h
 @@ -427,7 +427,7 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
@@ -33,7 +33,7 @@
  bool mt76_connac2_mac_fill_txs(struct mt76_dev *dev, struct mt76_wcid *wcid,
  			       __le32 *txs_data);
 diff --git a/mt76_connac_mac.c b/mt76_connac_mac.c
-index a72551ba..e58570c2 100644
+index a72551b..e58570c 100644
 --- a/mt76_connac_mac.c
 +++ b/mt76_connac_mac.c
 @@ -291,12 +291,11 @@ EXPORT_SYMBOL_GPL(mt76_connac_init_tx_queues);
@@ -93,7 +93,7 @@
  		u32 val = MT_TXD6_FIXED_BW;
  
 diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
-index 0c89222b..e4e6c0d3 100644
+index 0c89222..e4e6c0d 100644
 --- a/mt76_connac_mcu.c
 +++ b/mt76_connac_mcu.c
 @@ -1368,7 +1368,7 @@ u8 mt76_connac_get_phy_mode(struct mt76_phy *phy, struct ieee80211_vif *vif,
@@ -118,7 +118,7 @@
  
  	switch (band) {
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index ff8a314c..1dcd1696 100644
+index ff8a314..1dcd169 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -2041,7 +2041,7 @@ mt76_connac_get_eht_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif);
@@ -131,7 +131,7 @@
  
  int mt76_connac_mcu_add_key(struct mt76_dev *dev, struct ieee80211_vif *vif,
 diff --git a/mt7925/main.c b/mt7925/main.c
-index 791c8b00..147b71e7 100644
+index 791c8b0..147b71e 100644
 --- a/mt7925/main.c
 +++ b/mt7925/main.c
 @@ -806,7 +806,7 @@ mt7925_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
@@ -144,10 +144,10 @@
  
  	if (beacon && ht) {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index cadfee9f..68234032 100644
+index 743a7a8..3f0c0ec 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -802,7 +802,7 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
+@@ -801,7 +801,7 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
  	u16 rate;
  	u8 i, idx;
  
@@ -157,7 +157,7 @@
  	if (beacon) {
  		struct mt7996_phy *phy = mphy->priv;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 7b77cab2..edaf8814 100644
+index cb6f126..f4493c9 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1224,7 +1224,7 @@ mt7996_mcu_bss_basic_tlv(struct sk_buff *skb, struct ieee80211_bss_conf *conf,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0092-mtk-mt76-mt7996-handle-mapping-for-hw-and-phy.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0092-mtk-mt76-mt7996-handle-mapping-for-hw-and-phy.patch
index 2214557..dbbfae9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0092-mtk-mt76-mt7996-handle-mapping-for-hw-and-phy.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0092-mtk-mt76-mt7996-handle-mapping-for-hw-and-phy.patch
@@ -1,7 +1,7 @@
-From eb1ff9f088a5f55389f499e53b63b5f183025a61 Mon Sep 17 00:00:00 2001
+From e006a5bd3426c65015ad3437cc840f36e4a30c54 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Tue, 5 Dec 2023 13:56:51 +0800
-Subject: [PATCH 092/223] mtk: mt76: mt7996: handle mapping for hw and phy
+Subject: [PATCH 092/193] mtk: mt76: mt7996: handle mapping for hw and phy
 
 We've used mt7996_band_phy() to do mapping from ieee80211_hw to mt7996_phy,
 and this patch is a temporal workaround for opposite direction.
@@ -16,7 +16,7 @@
  4 files changed, 60 insertions(+), 13 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index ec73fe00..03632279 100644
+index ec73fe0..0363227 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -823,9 +823,13 @@ EXPORT_SYMBOL_GPL(mt76_has_tx_pending);
@@ -55,7 +55,7 @@
  
  static void
 diff --git a/mt76.h b/mt76.h
-index 36e92dfe..9fa411cb 100644
+index 36e92df..9fa411c 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -843,6 +843,7 @@ struct mt76_vif {
@@ -83,7 +83,7 @@
  mt76_get_txwi_ptr(struct mt76_dev *dev, struct mt76_txwi_cache *t)
  {
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index c4cd5bc2..f9aa0e57 100644
+index c4cd5bc..f9aa0e5 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2394,7 +2394,10 @@ void mt7996_mac_work(struct work_struct *work)
@@ -108,7 +108,7 @@
  				      NULL)) {
  		rcu_read_unlock();
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 68234032..01c736a9 100644
+index 3f0c0ec..bfa78e3 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -173,6 +173,7 @@ static void mt7996_stop(struct ieee80211_hw *hw, bool suspend)
@@ -157,8 +157,8 @@
  
  #define MT76_FILTER(_flag, _hw) do {					\
  		flags |= *total_flags & FIF_##_flag;			\
-@@ -762,12 +771,26 @@ static void mt7996_configure_filter(struct ieee80211_hw *hw,
- 			     MT_WF_RFCR_DROP_NDPA);
+@@ -761,12 +770,26 @@ static void mt7996_configure_filter(struct ieee80211_hw *hw,
+ 			     MT_WF_RFCR_DROP_CTL_RSV);
  
  	*total_flags = flags;
 -	mt76_wr(dev, MT_WF_RFCR(phy->mt76->band_idx), phy->rxfilter);
@@ -189,7 +189,7 @@
  
  	mutex_unlock(&dev->mt76.mutex);
  }
-@@ -2188,7 +2211,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2187,7 +2210,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	phy->scan_chan_idx = 0;
  	mutex_unlock(&phy->dev->mt76.mutex);
  
@@ -198,7 +198,7 @@
  
  	return 0;
  }
-@@ -2205,7 +2228,8 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -2204,7 +2227,8 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  			continue;
  
  		phy = mt7996_band_phy(hw, band);
@@ -208,7 +208,7 @@
  			continue;
  
  		cancel_delayed_work_sync(&phy->scan_work);
-@@ -2226,6 +2250,7 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
+@@ -2225,6 +2249,7 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
  	wiphy_info(hw->wiphy, "%s: add %u\n", __func__, conf->def.chan->hw_value);
  	mutex_lock(&phy->dev->mt76.mutex);
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0093-mtk-mt76-mt7996-handle-mapping-for-hw-and-vif.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0093-mtk-mt76-mt7996-handle-mapping-for-hw-and-vif.patch
index fed2615..d758ebc 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0093-mtk-mt76-mt7996-handle-mapping-for-hw-and-vif.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0093-mtk-mt76-mt7996-handle-mapping-for-hw-and-vif.patch
@@ -1,7 +1,7 @@
-From d1ceb708475e11cf159886d4c9e6ce78c4d3030d Mon Sep 17 00:00:00 2001
+From abadd35e16e05493cadfadde59956327312b762d Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 8 Dec 2023 18:08:13 +0800
-Subject: [PATCH 093/223] mtk: mt76: mt7996: handle mapping for hw and vif
+Subject: [PATCH 093/193] mtk: mt76: mt7996: handle mapping for hw and vif
 
 We have several temporal workarounds for ieee80211_hw and mt76_phy
 mappings. For legacy MBSS cases, we also need a method to do the
@@ -24,7 +24,7 @@
  9 files changed, 46 insertions(+), 9 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index 38701c71..3f1fb6c2 100644
+index 38701c7..3f1fb6c 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -685,7 +685,7 @@ free:
@@ -37,7 +37,7 @@
  	ieee80211_tx_status_ext(hw, &status);
  	spin_unlock_bh(&dev->rx_lock);
 diff --git a/mac80211.c b/mac80211.c
-index 03632279..b1af346a 100644
+index 0363227..b1af346 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -1546,7 +1546,7 @@ void mt76_wcid_cleanup(struct mt76_dev *dev, struct mt76_wcid *wcid)
@@ -50,7 +50,7 @@
  	}
  }
 diff --git a/mt76.h b/mt76.h
-index 9fa411cb..2dea07a3 100644
+index 9fa411c..2dea07a 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -567,6 +567,9 @@ struct mt76_driver_ops {
@@ -88,7 +88,7 @@
  }
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index f9aa0e57..a48e4f44 100644
+index f9aa0e5..a48e4f4 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2857,13 +2857,23 @@ static void mt7996_scan_check_sta(void *data, struct ieee80211_sta *sta)
@@ -133,7 +133,7 @@
 +	}
 +}
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 01c736a9..cabd5729 100644
+index bfa78e3..02b6798 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -444,6 +444,7 @@ static int mt7996_add_interface(struct ieee80211_hw *hw,
@@ -145,7 +145,7 @@
  
  	ret = mt7996_add_bss_conf(phy, vif, &vif->bss_conf);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index edaf8814..e7ee970b 100644
+index f4493c9..3ecaa0d 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2955,11 +2955,11 @@ int mt7996_mcu_beacon_inband_discov(struct mt7996_dev *dev,
@@ -163,7 +163,7 @@
  
  	if (!skb) {
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index 8ac1b12a..ee5ee5a5 100644
+index 8ac1b12..ee5ee5a 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -659,6 +659,7 @@ struct mt7996_dev *mt7996_mmio_probe(struct device *pdev,
@@ -175,7 +175,7 @@
  	struct mt7996_dev *dev;
  	struct mt76_dev *mdev;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index f83308de..9dd4d478 100644
+index f83308d..9dd4d47 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -355,6 +355,7 @@ struct mt7996_vif {
@@ -196,7 +196,7 @@
  void mt7996_coredump(struct mt7996_dev *dev, u8 state);
  int mt7996_run(struct ieee80211_hw *hw);
 diff --git a/tx.c b/tx.c
-index a78ab2c8..95c84dab 100644
+index 330b8d3..7906023 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -76,7 +76,7 @@ mt76_tx_status_unlock(struct mt76_dev *dev, struct sk_buff_head *list)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0094-mtk-mt76-mt7996-rework-scanning-parts-for-MLD-STA-su.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0094-mtk-mt76-mt7996-rework-scanning-parts-for-MLD-STA-su.patch
index 8dc2209..c879b9e 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0094-mtk-mt76-mt7996-rework-scanning-parts-for-MLD-STA-su.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0094-mtk-mt76-mt7996-rework-scanning-parts-for-MLD-STA-su.patch
@@ -1,7 +1,7 @@
-From 2dd9be1a2d916ec0ca58ec933f55154db6a40bf9 Mon Sep 17 00:00:00 2001
+From fd01b451fe67c4b09c10de44d03a1c02e8bd393e Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 13 Dec 2023 16:58:31 +0800
-Subject: [PATCH 094/223] mtk: mt76: mt7996: rework scanning parts for MLD STA
+Subject: [PATCH 094/193] mtk: mt76: mt7996: rework scanning parts for MLD STA
  support
 
 During the first scanning, the STA VIF is still a legacy interface,
@@ -17,7 +17,7 @@
  2 files changed, 57 insertions(+), 22 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index a48e4f44..a30b7dfa 100644
+index a48e4f4..a30b7df 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2781,23 +2781,40 @@ static void
@@ -105,10 +105,10 @@
  {
  	bool *has_sta = data;
 diff --git a/mt7996/main.c b/mt7996/main.c
-index cabd5729..9ce7c6fb 100644
+index 02b6798..f5a5f72 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2193,12 +2193,28 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -2192,12 +2192,28 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  
  #endif
  
@@ -137,7 +137,7 @@
  
  	mutex_lock(&phy->dev->mt76.mutex);
  	if (WARN_ON(phy->scan_req || phy->scan_chan)) {
-@@ -2206,10 +2222,23 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2205,10 +2221,23 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		return -EBUSY;
  	}
  
@@ -162,7 +162,7 @@
  	mutex_unlock(&phy->dev->mt76.mutex);
  
  	ieee80211_queue_delayed_work(mt76_main_hw(phy->mt76), &phy->scan_work, 0);
-@@ -2220,6 +2249,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2219,6 +2248,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  static void
  mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  {
@@ -170,7 +170,7 @@
  	int band;
  
  	for (band = 0; band < NUM_NL80211_BANDS; band++) {
-@@ -2237,6 +2267,9 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -2236,6 +2266,9 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  
  		mutex_lock(&phy->dev->mt76.mutex);
  		mt7996_scan_complete(phy, true);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0095-mtk-mt76-mt7996-implement-mld-address-translation.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0095-mtk-mt76-mt7996-implement-mld-address-translation.patch
index 0045fb2..aa18a58 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0095-mtk-mt76-mt7996-implement-mld-address-translation.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0095-mtk-mt76-mt7996-implement-mld-address-translation.patch
@@ -1,7 +1,7 @@
-From e5e8751f543d8558637b4b8438f1f2f518effc2b Mon Sep 17 00:00:00 2001
+From 8313c7414f417852ab27a3ee749204e6aa8741aa Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 7 Dec 2023 16:31:56 +0800
-Subject: [PATCH 095/223] mtk: mt76: mt7996: implement mld address translation
+Subject: [PATCH 095/193] mtk: mt76: mt7996: implement mld address translation
 
 Do the MLD to link address translation for EAPOL and management frames
 in driver.
@@ -18,7 +18,7 @@
  2 files changed, 66 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index a30b7dfa..9c256655 100644
+index a30b7df..9c25665 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -910,6 +910,26 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
@@ -49,10 +49,10 @@
  	for (i = 0; i < nbuf; i++) {
  		u16 len;
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 9ce7c6fb..75e571b0 100644
+index f5a5f72..39aa5ee 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1316,14 +1316,56 @@ static void mt7996_tx(struct ieee80211_hw *hw,
+@@ -1315,14 +1315,56 @@ static void mt7996_tx(struct ieee80211_hw *hw,
  
  	rcu_read_lock();
  	if (mvif && msta) {
@@ -112,7 +112,7 @@
  
  		mconf = rcu_dereference(mvif->link[link_id]);
  		mlink = rcu_dereference(msta->link[link_id]);
-@@ -1341,6 +1383,7 @@ static void mt7996_tx(struct ieee80211_hw *hw,
+@@ -1340,6 +1382,7 @@ static void mt7996_tx(struct ieee80211_hw *hw,
  	}
  
  	mt76_tx(mphy, control->sta, wcid, skb);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0096-mtk-mt76-mt7996-use-BSS_CHANGED_TXPOWER-for-txpower-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0096-mtk-mt76-mt7996-use-BSS_CHANGED_TXPOWER-for-txpower-.patch
index 455160b..f2c5dc8 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0096-mtk-mt76-mt7996-use-BSS_CHANGED_TXPOWER-for-txpower-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0096-mtk-mt76-mt7996-use-BSS_CHANGED_TXPOWER-for-txpower-.patch
@@ -1,7 +1,7 @@
-From bb16725ec128a46c3205d1cb67f152799bc58bb6 Mon Sep 17 00:00:00 2001
+From 2d87464e6b05838fc3f46cd58de33c3be8262d45 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Tue, 27 Feb 2024 18:07:11 +0800
-Subject: [PATCH 096/223] mtk: mt76: mt7996: use BSS_CHANGED_TXPOWER for
+Subject: [PATCH 096/193] mtk: mt76: mt7996: use BSS_CHANGED_TXPOWER for
  txpower setting
 
 This is a preliminary patch to add MLO support for mt7996 chipsets.
@@ -15,7 +15,7 @@
  4 files changed, 9 insertions(+), 13 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 75e571b0..5c2bc2b0 100644
+index 39aa5ee..ba63a16 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -665,14 +665,6 @@ static int mt7996_config(struct ieee80211_hw *hw, u32 changed)
@@ -33,7 +33,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -972,6 +964,9 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
+@@ -971,6 +963,9 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
  	if (changed & BSS_CHANGED_MU_GROUPS)
  		mt7996_update_mu_group(hw, info, mconf);
  
@@ -43,7 +43,7 @@
  out:
  	mutex_unlock(&dev->mt76.mutex);
  }
-@@ -1615,7 +1610,6 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
+@@ -1614,7 +1609,6 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
  	mt76_set_stream_caps(phy->mt76, true);
  	mt7996_set_stream_vht_txbf_caps(phy);
  	mt7996_set_stream_he_eht_caps(phy);
@@ -52,7 +52,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index e7ee970b..d9edba0c 100644
+index 3ecaa0d..72b4619 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5336,7 +5336,8 @@ mt7996_update_max_txpower_cur(struct mt7996_phy *phy, int tx_power)
@@ -75,7 +75,7 @@
  	if (phy->sku_limit_en) {
  		txpower_limit = mt76_get_rate_power_limits(mphy, mphy->chandef.chan,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 9dd4d478..ba954623 100644
+index 9dd4d47..ba95462 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -984,7 +984,8 @@ int mt7996_mcu_get_chan_mib_info(struct mt7996_phy *phy, bool chan_switch);
@@ -89,7 +89,7 @@
  		       u8 rx_sel, u8 val);
  int mt7996_mcu_rdd_background_disable_timer(struct mt7996_dev *dev,
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index be224373..799e443c 100644
+index be22437..799e443 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -1834,7 +1834,7 @@ mt7996_tm_update_params(struct mt7996_phy *phy, u32 changed)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0097-mtk-mt76-mt7996-temp-support-for-single-wiphy.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0097-mtk-mt76-mt7996-temp-support-for-single-wiphy.patch
index ee07409..6b817ff 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0097-mtk-mt76-mt7996-temp-support-for-single-wiphy.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0097-mtk-mt76-mt7996-temp-support-for-single-wiphy.patch
@@ -1,7 +1,7 @@
-From 0764c048b72deb7ee2f988a4c6f708c661182f81 Mon Sep 17 00:00:00 2001
+From c894ae5e277dd6dfa168eef5edab9914310d31ba Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 28 Mar 2024 18:50:04 +0800
-Subject: [PATCH 097/223] mtk: mt76: mt7996: temp support for single wiphy
+Subject: [PATCH 097/193] mtk: mt76: mt7996: temp support for single wiphy
 
 Add temporal single wiphy for simultaneously supporting MLD and legacy
 interfaces.
@@ -19,7 +19,7 @@
  7 files changed, 86 insertions(+), 80 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index b1af346a..a98fe4fb 100644
+index b1af346..a98fe4f 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -823,13 +823,9 @@ EXPORT_SYMBOL_GPL(mt76_has_tx_pending);
@@ -49,7 +49,7 @@
  }
  EXPORT_SYMBOL_GPL(mt76_channel_state);
 diff --git a/mt76.h b/mt76.h
-index 2dea07a3..b65a6b0a 100644
+index 2dea07a..b65a6b0 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -845,8 +845,8 @@ struct mt76_vif {
@@ -79,7 +79,7 @@
  mt76_get_txwi_ptr(struct mt76_dev *dev, struct mt76_txwi_cache *t)
  {
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 8272ead2..f9bd4d91 100644
+index 8272ead..f9bd4d9 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -422,12 +422,6 @@ static int mt7996_eeprom_parse_band_config(struct mt7996_phy *phy)
@@ -96,13 +96,13 @@
  }
  
 diff --git a/mt7996/init.c b/mt7996/init.c
-index cedadefc..f26687df 100644
+index 8240735..25ffd69 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -19,13 +19,13 @@ static const struct ieee80211_iface_limit if_limits[] = {
- 		.max = 1,
- 		.types = BIT(NL80211_IFTYPE_ADHOC)
- 	}, {
+@@ -16,13 +16,13 @@
+ 
+ static const struct ieee80211_iface_limit if_limits[] = {
+ 	{
 -		.max = 16,
 +		.max = 16 * 3,
  		.types = BIT(NL80211_IFTYPE_AP)
@@ -115,7 +115,7 @@
  		.types = BIT(NL80211_IFTYPE_STATION)
  	}
  };
-@@ -34,7 +34,7 @@ static const struct ieee80211_iface_combination if_comb[] = {
+@@ -31,7 +31,7 @@ static const struct ieee80211_iface_combination if_comb[] = {
  	{
  		.limits = if_limits,
  		.n_limits = ARRAY_SIZE(if_limits),
@@ -124,7 +124,7 @@
  		.num_different_channels = 3,
  		.beacon_int_infra_match = true,
  		.radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
-@@ -417,7 +417,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -414,7 +414,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
  	wiphy->reg_notifier = mt7996_regd_notifier;
  	wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH;
@@ -133,7 +133,7 @@
  
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BSS_COLOR);
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_VHT_IBSS);
-@@ -795,6 +795,10 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -792,6 +792,10 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  		mtk_wed_device_start(&dev->mt76.mmio.wed_hif2, MT_INT_TX_RX_DONE_EXT);
  	}
  
@@ -144,7 +144,7 @@
  	return 0;
  
  error:
-@@ -811,6 +815,9 @@ mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
+@@ -808,6 +812,9 @@ mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
  	if (!phy)
  		return;
  
@@ -154,7 +154,7 @@
  	mt7996_unregister_thermal(phy);
  
  	mphy = phy->dev->mt76.phys[band];
-@@ -1697,6 +1704,12 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1694,6 +1701,12 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	if (ret)
  		return ret;
  
@@ -167,7 +167,7 @@
  	ieee80211_queue_work(mt76_hw(dev), &dev->init_work);
  
  	dev->recovery.hw_init_done = true;
-@@ -1726,11 +1739,11 @@ error:
+@@ -1723,11 +1736,11 @@ error:
  void mt7996_unregister_device(struct mt7996_dev *dev)
  {
  	cancel_work_sync(&dev->wed_rro.work);
@@ -182,7 +182,7 @@
  	mt7996_mcu_exit(dev);
  	mt7996_tx_token_put(dev);
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 9c256655..f5725b3c 100644
+index 9c25665..f5725b3 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2414,10 +2414,7 @@ void mt7996_mac_work(struct work_struct *work)
@@ -198,7 +198,7 @@
  }
  
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 5c2bc2b0..d9cd7df1 100644
+index ba63a16..906ae8e 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -140,6 +140,10 @@ static int mt7996_start(struct ieee80211_hw *hw)
@@ -293,7 +293,7 @@
  
  	return 0;
  }
-@@ -773,9 +784,6 @@ static void mt7996_configure_filter(struct ieee80211_hw *hw,
+@@ -772,9 +783,6 @@ static void mt7996_configure_filter(struct ieee80211_hw *hw,
  			continue;
  
  		tmp = dev->mt76.phys[band]->priv;
@@ -303,7 +303,7 @@
  		tmp->rxfilter = phy->rxfilter;
  		mt76_wr(dev, MT_WF_RFCR(tmp->mt76->band_idx), phy->rxfilter);
  
-@@ -1584,9 +1592,11 @@ static int
+@@ -1583,9 +1591,11 @@ static int
  mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
  {
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
@@ -318,7 +318,7 @@
  
  	if (!tx_ant || tx_ant != rx_ant || ffs(tx_ant) > max_nss)
  		return -EINVAL;
-@@ -1596,20 +1606,34 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
+@@ -1595,20 +1605,34 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
  
  	mutex_lock(&dev->mt76.mutex);
  
@@ -365,7 +365,7 @@
  
  	mutex_unlock(&dev->mt76.mutex);
  
-@@ -2265,7 +2289,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2264,7 +2288,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	if (vif->type == NL80211_IFTYPE_STATION && !ieee80211_vif_is_mld(vif) &&
  	    (phy->mt76 != mvif->deflink.phy->mt76)) {
@@ -374,7 +374,7 @@
  		mt7996_remove_bss_conf(vif, &vif->bss_conf, &mvif->deflink);
  
  		ret = mt7996_add_bss_conf(phy, vif, &vif->bss_conf);
-@@ -2278,7 +2302,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2277,7 +2301,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	set_bit(MT76_SCANNING, &phy->mt76->state);
  	mutex_unlock(&phy->dev->mt76.mutex);
  
@@ -383,7 +383,7 @@
  
  	return 0;
  }
-@@ -2286,7 +2310,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2285,7 +2309,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  static void
  mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  {
@@ -392,7 +392,7 @@
  	int band;
  
  	for (band = 0; band < NUM_NL80211_BANDS; band++) {
-@@ -2296,17 +2320,16 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -2295,17 +2319,16 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  			continue;
  
  		phy = mt7996_band_phy(hw, band);
@@ -414,7 +414,7 @@
  		mutex_unlock(&phy->dev->mt76.mutex);
  	}
  }
-@@ -2321,7 +2344,6 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
+@@ -2320,7 +2343,6 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
  	wiphy_info(hw->wiphy, "%s: add %u\n", __func__, conf->def.chan->hw_value);
  	mutex_lock(&phy->dev->mt76.mutex);
  
@@ -423,7 +423,7 @@
  		mutex_unlock(&phy->dev->mt76.mutex);
  		return -ENOSPC;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ba954623..66908ad2 100644
+index ba95462..66908ad 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -799,21 +799,19 @@ mt7996_has_background_radar(struct mt7996_dev *dev)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0098-mtk-mt76-mt7996-implement-ieee80211_ops-for-link-deb.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0098-mtk-mt76-mt7996-implement-ieee80211_ops-for-link-deb.patch
index 3023032..1b05259 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0098-mtk-mt76-mt7996-implement-ieee80211_ops-for-link-deb.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0098-mtk-mt76-mt7996-implement-ieee80211_ops-for-link-deb.patch
@@ -1,7 +1,7 @@
-From 063ce389fe9a412cb67f97ca6d0d5143dddb22ca Mon Sep 17 00:00:00 2001
+From 6658fb63886a904eee769821de4be82eb520fa64 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 29 Dec 2023 18:37:41 +0800
-Subject: [PATCH 098/223] mtk: mt76: mt7996: implement ieee80211_ops for link
+Subject: [PATCH 098/193] mtk: mt76: mt7996: implement ieee80211_ops for link
  debugfs
 
 Add .link_sta_add_debugfs and .link_add_debugfs for per-link STA and BSS
@@ -18,7 +18,7 @@
  5 files changed, 214 insertions(+), 4 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 786bdc38..ab8732dd 100644
+index 786bdc3..ab8732d 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -1294,4 +1294,205 @@ void mt7996_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
@@ -228,7 +228,7 @@
 +}
  #endif
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index f5725b3c..b8cf557b 100644
+index f5725b3..b8cf557 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2390,10 +2390,10 @@ void mt7996_mac_work(struct work_struct *work)
@@ -245,10 +245,10 @@
  				if (mt7996_mcu_wa_cmd(phy->dev, MCU_WA_PARAM_CMD(QUERY), MCU_WA_PARAM_BSS_ACQ_PKT_CNT,
  				                      BSS_ACQ_PKT_CNT_BSS_BITMAP_ALL | BSS_ACQ_PKT_CNT_READ_CLR, 0))
 diff --git a/mt7996/main.c b/mt7996/main.c
-index d9cd7df1..fe5bfd72 100644
+index 906ae8e..75d55f4 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2629,6 +2629,8 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2628,6 +2628,8 @@ const struct ieee80211_ops mt7996_ops = {
  	CFG80211_TESTMODE_DUMP(mt76_testmode_dump)
  #ifdef CONFIG_MAC80211_DEBUGFS
  	.sta_add_debugfs = mt7996_sta_add_debugfs,
@@ -258,7 +258,7 @@
  	.set_radar_background = mt7996_set_radar_background,
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index d9edba0c..9359a251 100644
+index 72b4619..c484b4f 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -621,8 +621,10 @@ mt7996_mcu_rx_all_sta_info_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -275,7 +275,7 @@
  		case UNI_ALL_STA_TXRX_AIRTIME:
  			wlan_idx = le16_to_cpu(res->airtime[i].wlan_idx);
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 66908ad2..c94853f2 100644
+index 66908ad..c94853f 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1146,6 +1146,11 @@ int mt7996_mcu_set_pp_en(struct mt7996_phy *phy, u8 mode, u16 bitmap);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0099-mtk-mt76-mt7996-support-multi-link-channel-switch.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0099-mtk-mt76-mt7996-support-multi-link-channel-switch.patch
index a58349a..a8ab5d7 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0099-mtk-mt76-mt7996-support-multi-link-channel-switch.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0099-mtk-mt76-mt7996-support-multi-link-channel-switch.patch
@@ -1,7 +1,7 @@
-From 70a14f12eef8b505890f654876a7f89432070bbf Mon Sep 17 00:00:00 2001
+From 374dc7d4e4eb39e6e7023ec7792f9306051b66e0 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 19 Jan 2024 14:04:03 +0800
-Subject: [PATCH 099/223] mtk: mt76: mt7996: support multi-link channel switch
+Subject: [PATCH 099/193] mtk: mt76: mt7996: support multi-link channel switch
 
 mtk: wifi: mt76: mt7996: remove the limitation of radar detect width for mlo
 
@@ -27,7 +27,7 @@
  4 files changed, 22 insertions(+), 7 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index a98fe4fb..a2b111c0 100644
+index a98fe4f..a2b111c 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -1801,7 +1801,7 @@ enum mt76_dfs_state mt76_phy_dfs_state(struct mt76_phy *phy)
@@ -40,7 +40,7 @@
  		    (phy->chandef.chan->flags & IEEE80211_CHAN_RADAR))
  			return MT_DFS_STATE_ACTIVE;
 diff --git a/mt76.h b/mt76.h
-index b65a6b0a..bc263bd4 100644
+index b65a6b0..bc263bd 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -862,6 +862,7 @@ struct mt76_phy {
@@ -52,10 +52,10 @@
  
  	u32 aggr_stats[32];
 diff --git a/mt7996/main.c b/mt7996/main.c
-index fe5bfd72..e3f30b23 100644
+index 75d55f4..e1fa8bc 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2143,7 +2143,7 @@ static int
+@@ -2142,7 +2142,7 @@ static int
  mt7996_set_radar_background(struct ieee80211_hw *hw,
  			    struct cfg80211_chan_def *chandef)
  {
@@ -64,7 +64,7 @@
  	struct mt7996_dev *dev = phy->dev;
  	int ret = -EINVAL;
  	bool running;
-@@ -2358,6 +2358,7 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
+@@ -2357,6 +2357,7 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
  	}
  
  	phy->chanctx = ctx;
@@ -72,7 +72,7 @@
  	mutex_unlock(&phy->dev->mt76.mutex);
  
  	if (!mt76_testmode_enabled(phy->mt76) && !phy->mt76->test.bf_en) {
-@@ -2385,8 +2386,10 @@ mt7996_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
+@@ -2384,8 +2385,10 @@ mt7996_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
  
  	mutex_lock(&phy->dev->mt76.mutex);
  	ctx->assigned = false;
@@ -84,7 +84,7 @@
  	mutex_unlock(&phy->dev->mt76.mutex);
  }
  
-@@ -2398,8 +2401,10 @@ mt7996_change_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
+@@ -2397,8 +2400,10 @@ mt7996_change_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
  	struct mt7996_phy *phy = ctx->phy;
  
  	wiphy_info(hw->wiphy, "%s: change %u, 0x%x\n", __func__, conf->def.chan->hw_value, changed);
@@ -96,7 +96,7 @@
  
  		mt7996_set_channel(phy, &ctx->chandef);
  	}
-@@ -2497,6 +2502,7 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
+@@ -2496,6 +2501,7 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
  	mutex_lock(&phy->dev->mt76.mutex);
  
  	phy->chanctx = new_ctx;
@@ -105,7 +105,7 @@
  	new_ctx->chandef = vifs->new_ctx->def;
  	new_ctx->phy = phy;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 9359a251..d897098e 100644
+index c484b4f..6c92baa 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -362,10 +362,18 @@ int mt7996_mcu_wa_cmd(struct mt7996_dev *dev, int cmd, u32 a1, u32 a2, u32 a3)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0100-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0100-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch
index d5ed3fd..f27f1c0 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0100-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0100-mtk-mt76-mt7996-ACS-channel-time-too-long-on-duty-ch.patch
@@ -1,7 +1,7 @@
-From 8e4e5598fe8695f1234e35849916b1a3fcc862f5 Mon Sep 17 00:00:00 2001
+From 19b2b7434b475fc7cc27f75f82443541cf939174 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Thu, 22 Feb 2024 11:09:10 +0800
-Subject: [PATCH 100/223] mtk: mt76: mt7996: ACS channel time too long on duty
+Subject: [PATCH 100/193] mtk: mt76: mt7996: ACS channel time too long on duty
  channel
 
 This problem happens in SW scan and was already fixed.
@@ -15,7 +15,7 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index e3f30b23..6fad94b8 100644
+index e1fa8bc..85d747d 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -499,6 +499,7 @@ static void ___mt7996_set_channel(struct mt7996_phy *phy,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0101-mtk-mt76-mt7996-add-beacon-monitoring-in-driver-for-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0101-mtk-mt76-mt7996-add-beacon-monitoring-in-driver-for-.patch
index 66d8cff..f171507 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0101-mtk-mt76-mt7996-add-beacon-monitoring-in-driver-for-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0101-mtk-mt76-mt7996-add-beacon-monitoring-in-driver-for-.patch
@@ -1,7 +1,7 @@
-From cad5f671fef13c087e4e38058944cac48fecf479 Mon Sep 17 00:00:00 2001
+From 6bc7da4dbb67dbbf9d6e9d02918c1e7e9bbd5793 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Tue, 20 Feb 2024 10:08:01 +0800
-Subject: [PATCH 101/223] mtk: mt76: mt7996: add beacon monitoring in driver
+Subject: [PATCH 101/193] mtk: mt76: mt7996: add beacon monitoring in driver
  for mlo
 
 Add beacon monitoring in driver since mac80211 does not
@@ -38,7 +38,7 @@
  3 files changed, 290 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index b8cf557b..1cf84fe5 100644
+index b8cf557..1cf84fe 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -559,6 +559,32 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
@@ -294,7 +294,7 @@
  		   struct ieee80211_hw **hw)
  {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 6fad94b8..67948343 100644
+index 85d747d..9533de2 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -452,6 +452,7 @@ static int mt7996_add_interface(struct ieee80211_hw *hw,
@@ -313,7 +313,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -1146,6 +1148,9 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1145,6 +1147,9 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	unsigned int link_id;
  
@@ -323,7 +323,7 @@
  	for_each_set_bit(link_id, &rem, IEEE80211_MLD_MAX_NUM_LINKS) {
  		struct mt7996_bss_conf *mconf =
  			mconf_dereference_protected(mvif, link_id);
-@@ -2588,6 +2593,61 @@ out:
+@@ -2587,6 +2592,61 @@ out:
  	return ret;
  }
  
@@ -385,7 +385,7 @@
  const struct ieee80211_ops mt7996_ops = {
  	.add_chanctx = ieee80211_emulate_add_chanctx,
  	.remove_chanctx = ieee80211_emulate_remove_chanctx,
-@@ -2644,6 +2704,7 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2643,6 +2703,7 @@ const struct ieee80211_ops mt7996_ops = {
  	.net_fill_forward_path = mt7996_net_fill_forward_path,
  	.net_setup_tc = mt76_wed_net_setup_tc,
  #endif
@@ -394,7 +394,7 @@
  	.remove_chanctx = mt7996_remove_chanctx,
  	.change_chanctx = mt7996_change_chanctx,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index c94853f2..2a638a4a 100644
+index c94853f..2a638a4 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -131,6 +131,10 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0102-mtk-mt76-mt7996-support-band_idx-option-for-set_mu-g.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0102-mtk-mt76-mt7996-support-band_idx-option-for-set_mu-g.patch
index 95329b4..9aebd6b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0102-mtk-mt76-mt7996-support-band_idx-option-for-set_mu-g.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0102-mtk-mt76-mt7996-support-band_idx-option-for-set_mu-g.patch
@@ -1,7 +1,7 @@
-From 7b4305017b499ad805701f6022ed92b1e5746aa2 Mon Sep 17 00:00:00 2001
+From a14fec185fd1411d4986e57d43cdcd7d1c558cc7 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 4 Mar 2024 16:21:16 +0800
-Subject: [PATCH 102/223] mtk: mt76: mt7996: support band_idx option for
+Subject: [PATCH 102/193] mtk: mt76: mt7996: support band_idx option for
  set_mu/get_mu vendor command
 
 The vendor command set_mu and get_mu should be executed with band_idx.
@@ -17,7 +17,7 @@
  4 files changed, 56 insertions(+), 12 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index d897098e..48837d41 100644
+index 6c92baa..5475d8a 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5864,12 +5864,23 @@ int mt7996_mcu_set_vow_feature_ctrl(struct mt7996_phy *phy)
@@ -67,7 +67,7 @@
  
  void mt7996_set_beacon_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 23d44cd3..9903d88e 100644
+index 23d44cd..9903d88 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -882,6 +882,7 @@ enum {
@@ -79,7 +79,7 @@
  #define RATE_CFG_VAL	GENMASK(7, 0)
  
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 31688c37..64ef5515 100644
+index 31688c3..64ef551 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -16,6 +16,7 @@ mu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_MU_CTRL] = {
@@ -163,7 +163,7 @@
  
  void mt7996_set_wireless_rts_sigta(struct ieee80211_hw *hw, u8 value) {
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 0d1ef322..32346775 100644
+index 0d1ef32..3234677 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -68,6 +68,7 @@ enum mtk_vendor_attr_mu_ctrl {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0103-mtk-mt76-mt7996-tmp-disable-VOW.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0103-mtk-mt76-mt7996-tmp-disable-VOW.patch
index 6682f9b..8126afe 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0103-mtk-mt76-mt7996-tmp-disable-VOW.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0103-mtk-mt76-mt7996-tmp-disable-VOW.patch
@@ -1,7 +1,7 @@
-From ab265243158a3d44bd5c0a55d0e92bd6decbb3e2 Mon Sep 17 00:00:00 2001
+From 9858422e0681795d8e9f76629b7ede619ee4c611 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 20 Mar 2024 22:56:44 +0800
-Subject: [PATCH 103/223] mtk: mt76: mt7996: tmp disable VOW
+Subject: [PATCH 103/193] mtk: mt76: mt7996: tmp disable VOW
 
 FW will return failed when legacy 5G station connects after legacy 2G
 station, need to check.
@@ -12,7 +12,7 @@
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 48837d41..54b0272c 100644
+index 5475d8a..511ab2d 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2374,6 +2374,7 @@ int mt7996_mcu_add_rate_ctrl(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0104-mtk-mt76-mt7996-enable-ampdu-limit-to-avoid-BA-bound.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0104-mtk-mt76-mt7996-enable-ampdu-limit-to-avoid-BA-bound.patch
index 1e446d4..2cfed15 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0104-mtk-mt76-mt7996-enable-ampdu-limit-to-avoid-BA-bound.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0104-mtk-mt76-mt7996-enable-ampdu-limit-to-avoid-BA-bound.patch
@@ -1,7 +1,7 @@
-From bd12a6bbc6783a69d6ab5630b7b7ffda53da88d5 Mon Sep 17 00:00:00 2001
+From dc77f50b68d7901f245533fefae5ad8cf8858710 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 1 Apr 2024 17:00:21 +0800
-Subject: [PATCH 104/223] mtk: mt76: mt7996: enable ampdu limit to avoid BA
+Subject: [PATCH 104/193] mtk: mt76: mt7996: enable ampdu limit to avoid BA
  bound issue
 
 [Description]
@@ -34,7 +34,7 @@
  3 files changed, 95 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 1dcd1696..f6b472ef 100644
+index 1dcd169..f6b472e 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -834,6 +834,7 @@ enum {
@@ -46,7 +46,7 @@
  };
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 54b0272c..8034c8ab 100644
+index 511ab2d..efc0d54 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1349,6 +1349,85 @@ mt7996_mcu_sta_ba(struct mt7996_dev *dev, struct mt76_vif *mvif,
@@ -157,7 +157,7 @@
  
  	return 0;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 9903d88e..f9f04680 100644
+index 9903d88..f9f0468 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -573,6 +573,13 @@ struct sta_rec_ba_uni {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0105-mtk-mt76-mt7996-Fix-get_txpower-wrong-result-in-sing.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0105-mtk-mt76-mt7996-Fix-get_txpower-wrong-result-in-sing.patch
index d147e2f..8eee427 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0105-mtk-mt76-mt7996-Fix-get_txpower-wrong-result-in-sing.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0105-mtk-mt76-mt7996-Fix-get_txpower-wrong-result-in-sing.patch
@@ -1,7 +1,7 @@
-From 67c0e729c31b13fc348746b398857c353e43dab1 Mon Sep 17 00:00:00 2001
+From 223e2986e0169ab82e248f995e787f6c175bd3e3 Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Mon, 8 Apr 2024 16:56:09 +0800
-Subject: [PATCH 105/223] mtk: mt76: mt7996: Fix get_txpower wrong result in
+Subject: [PATCH 105/193] mtk: mt76: mt7996: Fix get_txpower wrong result in
  single wiphy and legacy mode
 
 Fix get_txpower wrong result in single wiphy and legacy mode.
@@ -15,10 +15,10 @@
  1 file changed, 27 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 67948343..b7096901 100644
+index 9533de2..408f848 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -982,6 +982,32 @@ out:
+@@ -981,6 +981,32 @@ out:
  	mutex_unlock(&dev->mt76.mutex);
  }
  
@@ -51,7 +51,7 @@
  static void
  mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
  			     struct ieee80211_vif *vif,
-@@ -2673,7 +2699,7 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2672,7 +2698,7 @@ const struct ieee80211_ops mt7996_ops = {
  	.hw_scan = mt7996_hw_scan,
  	.cancel_hw_scan = mt7996_cancel_hw_scan,
  	.release_buffered_frames = mt76_release_buffered_frames,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0106-mtk-mt76-mt7996-Add-connac3-csi-feature.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0106-mtk-mt76-mt7996-Add-connac3-csi-feature.patch
index e7146ca..0565eae 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0106-mtk-mt76-mt7996-Add-connac3-csi-feature.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0106-mtk-mt76-mt7996-Add-connac3-csi-feature.patch
@@ -1,7 +1,7 @@
-From c16fd657d9955992ab12c22ac068c7f9d0035ed3 Mon Sep 17 00:00:00 2001
+From 3420fc6b8b3645808456e49f55180c23e3260c46 Mon Sep 17 00:00:00 2001
 From: mtk20656 <chank.chen@mediatek.com>
 Date: Sat, 20 Jan 2024 12:03:24 +0800
-Subject: [PATCH 106/223] mtk: mt76: mt7996: Add connac3 csi feature.
+Subject: [PATCH 106/193] mtk: mt76: mt7996: Add connac3 csi feature.
 
 1. format align to wifi6.
 2. add bw320 support.
@@ -24,7 +24,7 @@
  8 files changed, 951 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index f6b472ef..11c147cd 100644
+index f6b472e..11c147c 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1066,6 +1066,7 @@ enum {
@@ -44,10 +44,10 @@
  	MCU_UNI_CMD_RRO = 0x57,
  	MCU_UNI_CMD_OFFCH_SCAN_CTRL = 0x58,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index f26687df..211ad40c 100644
+index 25ffd69..c501d19 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -807,6 +807,24 @@ error:
+@@ -804,6 +804,24 @@ error:
  	return ret;
  }
  
@@ -72,7 +72,7 @@
  static void
  mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
  {
-@@ -818,6 +836,10 @@ mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
+@@ -815,6 +833,10 @@ mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
  	/* TODO: FIXME: temp for single wiphy support */
  	phy->mt76->hw = phy->mt76->ori_hw;
  
@@ -84,10 +84,10 @@
  
  	mphy = phy->dev->mt76.phys[band];
 diff --git a/mt7996/main.c b/mt7996/main.c
-index b7096901..32a37936 100644
+index 408f848..574b0b5 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1306,6 +1306,9 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -1305,6 +1305,9 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
  	unsigned long rem = sta->valid_links ?: BIT(0);
  
@@ -98,7 +98,7 @@
  }
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 8034c8ab..56bb32a0 100644
+index efc0d54..56ad93a 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -658,6 +658,263 @@ mt7996_mcu_rx_all_sta_info_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -586,7 +586,7 @@
 +}
  #endif
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index f9f04680..42e9f525 100644
+index f9f0468..42e9f52 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1153,4 +1153,109 @@ struct fixed_rate_table_ctrl {
@@ -700,7 +700,7 @@
 +
  #endif
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 2a638a4a..eb38427b 100644
+index 2a638a4..eb38427 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -446,6 +446,47 @@ struct mt7996_air_monitor_ctrl {
@@ -780,7 +780,7 @@
  
  int mt7996_mcu_edcca_enable(struct mt7996_phy *phy, bool enable);
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 64ef5515..84b50ab2 100644
+index 64ef551..84b50ab 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -119,6 +119,19 @@ beacon_ctrl_policy[NUM_MTK_VENDOR_ATTRS_BEACON_CTRL] = {
@@ -1060,7 +1060,7 @@
  }
  #endif
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 32346775..834b3d08 100644
+index 3234677..834b3d0 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -7,6 +7,7 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0107-mtk-mt76-mt7996-add-more-debug-info-for-MLO.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0107-mtk-mt76-mt7996-add-more-debug-info-for-MLO.patch
index a1f4a1f..2ace425 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0107-mtk-mt76-mt7996-add-more-debug-info-for-MLO.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0107-mtk-mt76-mt7996-add-more-debug-info-for-MLO.patch
@@ -1,7 +1,7 @@
-From 7aa62c926e4323d8a19bac3c286903ec3d266503 Mon Sep 17 00:00:00 2001
+From 448b88d2d911427ccf2d731da9386b6a514f9e12 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 22 Apr 2024 11:06:48 +0800
-Subject: [PATCH 107/223] mtk: mt76: mt7996: add more debug info for MLO
+Subject: [PATCH 107/193] mtk: mt76: mt7996: add more debug info for MLO
 
 Change-Id: Id61889262c153f28fca8f209319137d86e8b9c36
 ---
@@ -20,7 +20,7 @@
  12 files changed, 1856 insertions(+), 18 deletions(-)
 
 diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
-index e4e6c0d3..b62a1ac8 100644
+index e4e6c0d..b62a1ac 100644
 --- a/mt76_connac_mcu.c
 +++ b/mt76_connac_mcu.c
 @@ -428,6 +428,7 @@ void mt76_connac_mcu_sta_basic_tlv(struct mt76_dev *dev, struct sk_buff *skb,
@@ -32,7 +32,7 @@
  }
  EXPORT_SYMBOL_GPL(mt76_connac_mcu_sta_basic_tlv);
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 11c147cd..86a2fdf8 100644
+index 11c147c..86a2fdf 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1300,6 +1300,7 @@ enum {
@@ -44,7 +44,7 @@
  	MCU_UNI_CMD_TESTMODE_TRX_PARAM = 0x42,
  	MCU_UNI_CMD_TESTMODE_CTRL = 0x46,
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index ab8732dd..db41e378 100644
+index ab8732d..db41e37 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -314,15 +314,17 @@ mt7996_fw_debug_wm_set(void *data, u64 val)
@@ -127,7 +127,7 @@
  	if (is_fwlog) {
  		if (dev->relay_fwlog)
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 1cf84fe5..cd139111 100644
+index 1cf84fe..cd13911 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -331,6 +331,10 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
@@ -167,7 +167,7 @@
  }
  
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 32a37936..0c5ddda1 100644
+index 574b0b5..7b976d0 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -433,6 +433,9 @@ static int mt7996_add_bss_conf(struct mt7996_phy *phy,
@@ -192,7 +192,7 @@
  	mutex_lock(&dev->mt76.mutex);
  
  	for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) {
-@@ -1140,6 +1148,8 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
+@@ -1139,6 +1147,8 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
  			mt76_wcid_mask_set(dev->mt76.wcid_phy_mask, idx);
  		rcu_assign_pointer(dev->mt76.wcid[idx], &mlink->wcid);
  		mt76_wcid_init(&mlink->wcid);
@@ -201,7 +201,7 @@
  	}
  
  	if (!assoc)
-@@ -1177,6 +1187,7 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1176,6 +1186,7 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  	if (!ieee80211_vif_is_mld(vif) || rem == sta->valid_links)
  		cancel_delayed_work(&mvif->beacon_mon_work);
  
@@ -209,7 +209,7 @@
  	for_each_set_bit(link_id, &rem, IEEE80211_MLD_MAX_NUM_LINKS) {
  		struct mt7996_bss_conf *mconf =
  			mconf_dereference_protected(mvif, link_id);
-@@ -1202,6 +1213,7 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1201,6 +1212,7 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  	unsigned int link_id;
  	int i, ret;
  
@@ -217,7 +217,7 @@
  	for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) {
  		struct mt7996_bss_conf *mconf =
  			mconf_dereference_protected(mvif, link_id);
-@@ -2560,6 +2572,7 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2559,6 +2571,7 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	unsigned int link_id;
  	int ret = 0;
  
@@ -225,7 +225,7 @@
  	if (old_links == new_links)
  		return 0;
  
-@@ -2605,6 +2618,7 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2604,6 +2617,7 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	unsigned long rem = old_links & ~new_links;
  	int ret = 0;
  
@@ -234,7 +234,7 @@
  
  	if (rem)
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 56bb32a0..956bd396 100644
+index 56ad93a..9b5534d 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -338,6 +338,10 @@ mt7996_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
@@ -327,7 +327,7 @@
  
  int mt7996_mcu_add_beacon(struct ieee80211_hw *hw,
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 42e9f525..5e217719 100644
+index 42e9f52..5e21771 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1029,6 +1029,14 @@ enum {
@@ -346,7 +346,7 @@
  	UNI_CMD_SR_ENABLE = 0x1,
  	UNI_CMD_SR_ENABLE_SD,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index eb38427b..00023a5e 100644
+index eb38427..00023a5 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -742,6 +742,14 @@ struct mt7996_dev {
@@ -393,7 +393,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debug.h b/mt7996/mtk_debug.h
-index da2a6072..82990239 100644
+index da2a607..8299023 100644
 --- a/mt7996/mtk_debug.h
 +++ b/mt7996/mtk_debug.h
 @@ -2288,4 +2288,664 @@ enum cipher_suit {
@@ -1062,7 +1062,7 @@
 +
  #endif
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index bc9a0f04..f9c5b238 100644
+index bc9a0f0..f9c5b23 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -3186,6 +3186,1038 @@ mt7996_thermal_recal_set(void *data, u64 val)
@@ -2130,7 +2130,7 @@
  	return 0;
  }
 diff --git a/tools/fwlog.c b/tools/fwlog.c
-index 0e2de2dc..8d163e1d 100644
+index 0e2de2d..8d163e1 100644
 --- a/tools/fwlog.c
 +++ b/tools/fwlog.c
 @@ -94,7 +94,7 @@ static void handle_signal(int sig)
@@ -2213,7 +2213,7 @@
  			return out_fd;
  	} else {
 diff --git a/tools/main.c b/tools/main.c
-index e9e25567..dcbb9b26 100644
+index e9e2556..dcbb9b2 100644
 --- a/tools/main.c
 +++ b/tools/main.c
 @@ -49,6 +49,7 @@ void usage(void)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0108-mtk-mt76-add-internal-debug-tool.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0108-mtk-mt76-add-internal-debug-tool.patch
index 37f7759..cf260f0 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0108-mtk-mt76-add-internal-debug-tool.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0108-mtk-mt76-add-internal-debug-tool.patch
@@ -1,7 +1,7 @@
-From 9ba1059c52cbf12123e8b3531291623e692fe1d9 Mon Sep 17 00:00:00 2001
+From 1db1fb62393aab45621c5960a5d4281657151c8f Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Mon, 22 Apr 2024 12:22:05 +0800
-Subject: [PATCH 108/223] mtk: mt76: add internal debug tool
+Subject: [PATCH 108/193] mtk: mt76: add internal debug tool
 
 Add the following DebugFS knobs:
 - reset_counter: reset TX/RX statistical counters in FW, WTBL, and MT76.
@@ -71,7 +71,7 @@
  create mode 100644 mt7996/mtk_debugfs_i.c
 
 diff --git a/mt7996/Makefile b/mt7996/Makefile
-index 6643c7a3..49ec9154 100644
+index 6643c7a..49ec915 100644
 --- a/mt7996/Makefile
 +++ b/mt7996/Makefile
 @@ -1,4 +1,5 @@
@@ -87,7 +87,7 @@
 -mt7996e-y += mtk_debugfs.o mtk_mcu.o
 +mt7996e-y += mtk_debugfs.o mtk_mcu.o mtk_debugfs_i.o
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index db41e378..7e545f61 100644
+index db41e37..7e545f6 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -1118,8 +1118,12 @@ int mt7996_init_debugfs(struct mt7996_phy *phy)
@@ -105,10 +105,10 @@
  #ifdef CONFIG_MTK_DEBUG
  	debugfs_create_u16("wlan_idx", 0600, dir, &dev->wlan_idx);
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 211ad40c..1d31e96a 100644
+index c501d19..3cd0c9e 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -886,6 +886,10 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
+@@ -883,6 +883,10 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
  		mt76_wr(dev, MT_RRO_ADDR_ARRAY_BASE0,
  			dev->wed_rro.addr_elem[0].phy_addr);
  	} else {
@@ -120,7 +120,7 @@
  		mt76_clear(dev, WF_RRO_AXI_MST_CFG, WF_RRO_AXI_MST_CFG_DIDX_OK);
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index cd139111..2e27e3b3 100644
+index cd13911..2e27e3b 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -334,6 +334,7 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
@@ -140,7 +140,7 @@
  
  	return 0;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 00023a5e..e23ed8e7 100644
+index 00023a5..e23ed8e 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -103,6 +103,7 @@
@@ -186,7 +186,7 @@
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debug_i.h b/mt7996/mtk_debug_i.h
 new file mode 100644
-index 00000000..d3756fa2
+index 0000000..d3756fa
 --- /dev/null
 +++ b/mt7996/mtk_debug_i.h
 @@ -0,0 +1,987 @@
@@ -1179,7 +1179,7 @@
 +#endif
 diff --git a/mt7996/mtk_debugfs_i.c b/mt7996/mtk_debugfs_i.c
 new file mode 100644
-index 00000000..ea412cd5
+index 0000000..ea412cd
 --- /dev/null
 +++ b/mt7996/mtk_debugfs_i.c
 @@ -0,0 +1,720 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0109-mtk-mt76-mt7996-add-linux-tracing-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0109-mtk-mt76-mt7996-add-linux-tracing-support.patch
index 9705ef9..495622d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0109-mtk-mt76-mt7996-add-linux-tracing-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0109-mtk-mt76-mt7996-add-linux-tracing-support.patch
@@ -1,7 +1,7 @@
-From 72119323570a647a238c6d3dfb2c07c190e062c4 Mon Sep 17 00:00:00 2001
+From 32f0003ab6551bda92347cad31cd00cc024f88cb Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 7 Sep 2022 12:13:20 +0800
-Subject: [PATCH 109/223] mtk: mt76: mt7996: add linux tracing support
+Subject: [PATCH 109/193] mtk: mt76: mt7996: add linux tracing support
 
 Add static tracepoint support for besra.
 
@@ -21,7 +21,7 @@
  create mode 100644 mt7996/trace.c
 
 diff --git a/agg-rx.c b/agg-rx.c
-index 07c386c7..b48943c4 100644
+index 07c386c..b48943c 100644
 --- a/agg-rx.c
 +++ b/agg-rx.c
 @@ -3,6 +3,7 @@
@@ -41,7 +41,7 @@
  	if (!tid->started) {
  		if (sn_less)
 diff --git a/mac80211.c b/mac80211.c
-index a2b111c0..75674462 100644
+index a2b111c..7567446 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -5,6 +5,7 @@
@@ -69,7 +69,7 @@
  			ieee80211_rx_list(hw, sta, skb, &list);
  		}
 diff --git a/mt7996/Makefile b/mt7996/Makefile
-index 49ec9154..936edc61 100644
+index 49ec915..936edc6 100644
 --- a/mt7996/Makefile
 +++ b/mt7996/Makefile
 @@ -12,4 +12,4 @@ mt7996e-y := pci.o init.o dma.o eeprom.o main.o mcu.o mac.o \
@@ -79,7 +79,7 @@
 -mt7996e-y += mtk_debugfs.o mtk_mcu.o mtk_debugfs_i.o
 +mt7996e-y += mtk_debugfs.o mtk_mcu.o mtk_debugfs_i.o trace.o
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 2e27e3b3..1c0d3676 100644
+index 2e27e3b..1c0d367 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -11,6 +11,7 @@
@@ -117,7 +117,7 @@
  	return 0;
  }
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 956bd396..d1aa19cb 100644
+index 9b5534d..b6b659d 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -10,6 +10,7 @@
@@ -158,7 +158,7 @@
  		return;
 diff --git a/mt7996/mt7996_trace.h b/mt7996/mt7996_trace.h
 new file mode 100644
-index 00000000..5fa73482
+index 0000000..5fa7348
 --- /dev/null
 +++ b/mt7996/mt7996_trace.h
 @@ -0,0 +1,141 @@
@@ -305,7 +305,7 @@
 +#include <trace/define_trace.h>
 diff --git a/mt7996/trace.c b/mt7996/trace.c
 new file mode 100644
-index 00000000..ba36f79a
+index 0000000..ba36f79
 --- /dev/null
 +++ b/mt7996/trace.c
 @@ -0,0 +1,12 @@
@@ -322,7 +322,7 @@
 +
 +#endif
 diff --git a/trace.h b/trace.h
-index c3d0ef8e..57c94c6b 100644
+index c3d0ef8..57c94c6 100644
 --- a/trace.h
 +++ b/trace.h
 @@ -101,6 +101,64 @@ DEFINE_EVENT(dev_txid_evt, mac_txdone,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0110-mtk-mt76-temp-changes-for-SQC-period.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0110-mtk-mt76-temp-changes-for-SQC-period.patch
index 7d25362..b635ea7 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0110-mtk-mt76-temp-changes-for-SQC-period.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0110-mtk-mt76-temp-changes-for-SQC-period.patch
@@ -1,7 +1,7 @@
-From 1ee4eb8cb63f275f929b3f7aabbdb0df66ed1f2f Mon Sep 17 00:00:00 2001
+From af9a8ff47bf5ebe4e0da768e6bac43b9a211e613 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <meichia.chiu@mediatek.com>
 Date: Fri, 9 Jun 2023 14:11:30 +0800
-Subject: [PATCH 110/223] mtk: mt76: temp changes for SQC period
+Subject: [PATCH 110/193] mtk: mt76: temp changes for SQC period
 
 mtk: wifi: mt76: mt7996: For SQC test Disable single sku
 
@@ -29,7 +29,7 @@
  4 files changed, 71 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index a2490fa7..bbc3814d 100644
+index a2490fa..bbc3814 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -800,11 +800,23 @@ void mt7996_dma_reset(struct mt7996_dev *dev, bool force)
@@ -117,7 +117,7 @@
  
  void mt7996_dma_cleanup(struct mt7996_dev *dev)
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 1c0d3676..ac61869d 100644
+index 1c0d367..ac61869 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1992,6 +1992,9 @@ void mt7996_mac_reset_work(struct work_struct *work)
@@ -193,7 +193,7 @@
  	clear_bit(MT76_RESET, &dev->mphy.state);
  	if (phy2)
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index d1aa19cb..d56630e9 100644
+index b6b659d..7699194 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3857,11 +3857,11 @@ int mt7996_mcu_init_firmware(struct mt7996_dev *dev)
@@ -211,7 +211,7 @@
  		return ret;
  
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index f9c5b238..0cf48193 100644
+index f9c5b23..0cf4819 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -4297,6 +4297,7 @@ int mt7996_mtk_init_debugfs(struct mt7996_phy *phy, struct dentry *dir)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0111-mtk-mt76-mt7996-remain-multiple-wiphy-model-for-test.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0111-mtk-mt76-mt7996-remain-multiple-wiphy-model-for-test.patch
index 4ac10cb..68801d2 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0111-mtk-mt76-mt7996-remain-multiple-wiphy-model-for-test.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0111-mtk-mt76-mt7996-remain-multiple-wiphy-model-for-test.patch
@@ -1,7 +1,7 @@
-From 2437744f9744acc7ca65d991906a17f7f5d123d5 Mon Sep 17 00:00:00 2001
+From 882682e4d7b0212bfe7c519d6ae4f5d30bd8f3d4 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 22 Apr 2024 16:49:48 +0800
-Subject: [PATCH 111/223] mtk: mt76: mt7996: remain multiple wiphy model for
+Subject: [PATCH 111/193] mtk: mt76: mt7996: remain multiple wiphy model for
  testmode
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
@@ -12,10 +12,10 @@
  3 files changed, 22 insertions(+), 14 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 1d31e96a..c5c12ba0 100644
+index 3cd0c9e..59ea76f 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -795,9 +795,11 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -792,9 +792,11 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  		mtk_wed_device_start(&dev->mt76.mmio.wed_hif2, MT_INT_TX_RX_DONE_EXT);
  	}
  
@@ -30,7 +30,7 @@
  
  	return 0;
  
-@@ -833,8 +835,9 @@ mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
+@@ -830,8 +832,9 @@ mt7996_unregister_phy(struct mt7996_phy *phy, enum mt76_band_id band)
  	if (!phy)
  		return;
  
@@ -43,7 +43,7 @@
  #ifdef CONFIG_MTK_VENDOR
  	mt7996_unregister_csi(phy);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 0c5ddda1..0b62858b 100644
+index 7b976d0..765e7d6 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -140,8 +140,8 @@ static int mt7996_start(struct ieee80211_hw *hw)
@@ -82,7 +82,7 @@
  	mvif->dev = dev;
  	mvif->hw = hw;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index e23ed8e7..b8699b65 100644
+index e23ed8e..b8699b6 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -880,16 +880,15 @@ mt7996_has_background_radar(struct mt7996_dev *dev)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0112-mtk-mt76-mt7996-enable-ibf-capability-for-mt7992.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0112-mtk-mt76-mt7996-enable-ibf-capability-for-mt7992.patch
index e28f39c..3011b26 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0112-mtk-mt76-mt7996-enable-ibf-capability-for-mt7992.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0112-mtk-mt76-mt7996-enable-ibf-capability-for-mt7992.patch
@@ -1,7 +1,7 @@
-From 349f51f541c02b1a3f72cce4e2f70110a0f39252 Mon Sep 17 00:00:00 2001
+From 368c14bdb51f4d5bf323f9dbffc6fb65ea43c8a7 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Tue, 23 Apr 2024 09:19:25 +0800
-Subject: [PATCH 112/223] mtk: mt76: mt7996: enable ibf capability for mt7992
+Subject: [PATCH 112/193] mtk: mt76: mt7996: enable ibf capability for mt7992
 
 For the specific sku of mt7992, it supports both ibf and ebf
 functionality. The firmware algorithm may decide which type is better
@@ -14,7 +14,7 @@
  1 file changed, 6 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index d56630e9..f9ed473a 100644
+index 7699194..e9a1837 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2270,6 +2270,8 @@ mt7996_mcu_sta_bfer_tlv(struct mt7996_dev *dev, struct sk_buff *skb,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0113-mtk-mt76-remove-the-limitation-for-legacy-AP-sacn.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0113-mtk-mt76-remove-the-limitation-for-legacy-AP-sacn.patch
index f991a92..a8e769b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0113-mtk-mt76-remove-the-limitation-for-legacy-AP-sacn.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0113-mtk-mt76-remove-the-limitation-for-legacy-AP-sacn.patch
@@ -1,7 +1,7 @@
-From da809c32e3531e217dbf22a9c5c372999c4642cb Mon Sep 17 00:00:00 2001
+From 3f276937d2633ccbe750fa73684bdc38f7a0ef60 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Thu, 2 May 2024 15:40:21 +0800
-Subject: [PATCH 113/223] mtk: mt76: remove the limitation for legacy AP sacn
+Subject: [PATCH 113/193] mtk: mt76: remove the limitation for legacy AP sacn
 
 The limitation was used to prevent resource conflict in multiple wiphys
 architecture. It becomes single wiphy and the limitation seems to be
@@ -17,7 +17,7 @@
  1 file changed, 7 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index ac61869d..901c70e5 100644
+index ac61869..901c70e 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2980,13 +2980,6 @@ void mt7996_scan_work(struct work_struct *work)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0114-mtk-mt76-add-support-for-get_survey-in-single-wiphy-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0114-mtk-mt76-add-support-for-get_survey-in-single-wiphy-.patch
index 02216b8..d721851 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0114-mtk-mt76-add-support-for-get_survey-in-single-wiphy-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0114-mtk-mt76-add-support-for-get_survey-in-single-wiphy-.patch
@@ -1,7 +1,7 @@
-From be22e24f74bc54660f8034e345dfadcae73b2101 Mon Sep 17 00:00:00 2001
+From fd37df808cf669ea47f2657076a64ef089a03e36 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Thu, 2 May 2024 15:22:22 +0800
-Subject: [PATCH 114/223] mtk: mt76: add support for get_survey in single wiphy
+Subject: [PATCH 114/193] mtk: mt76: add support for get_survey in single wiphy
  architecture
 
 ---
@@ -9,7 +9,7 @@
  1 file changed, 35 insertions(+), 10 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index 75674462..f986d5fd 100644
+index 7567446..f986d5f 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -937,19 +937,44 @@ int mt76_get_survey(struct ieee80211_hw *hw, int idx,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0115-mtk-mt76-mt7996-add-critical-update-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0115-mtk-mt76-mt7996-add-critical-update-support.patch
index 397fde1..c735012 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0115-mtk-mt76-mt7996-add-critical-update-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0115-mtk-mt76-mt7996-add-critical-update-support.patch
@@ -1,7 +1,7 @@
-From d4e9a9535f8f51d6a4adabee9efc1a61b0798490 Mon Sep 17 00:00:00 2001
+From 78bfe7143b1d2e024ceff7a5171cd7e8b53ecb7e Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Tue, 23 Apr 2024 15:22:24 +0800
-Subject: [PATCH 115/223] mtk: mt76: mt7996: add critical update support
+Subject: [PATCH 115/193] mtk: mt76: mt7996: add critical update support
 
 Add critical update support
 modification: wmm configuration
@@ -30,7 +30,7 @@
  5 files changed, 208 insertions(+), 30 deletions(-)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 86a2fdf8..0a4bf9b7 100644
+index 86a2fdf..0a4bf9b 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1385,6 +1385,8 @@ enum {
@@ -43,7 +43,7 @@
  
  enum {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 0b62858b..9a265710 100644
+index 765e7d6..6e90083 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -370,6 +370,7 @@ static int mt7996_add_bss_conf(struct mt7996_phy *phy,
@@ -54,7 +54,7 @@
  
  	ret = mt7996_mcu_add_dev_info(phy, conf, mconf, true);
  	if (ret)
-@@ -979,7 +980,9 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
+@@ -978,7 +979,9 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
  		mconf->mt76.beacon_rates_idx =
  			mt7996_get_rates_table(hw, info, mconf, true, false);
  
@@ -65,7 +65,7 @@
  	}
  
  	if (changed & (BSS_CHANGED_UNSOL_BCAST_PROBE_RESP |
-@@ -1030,21 +1033,45 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
+@@ -1029,21 +1032,45 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_phy *phy = mt7996_band_phy(hw, chandef->chan->band);
@@ -120,7 +120,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -2538,32 +2565,54 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
+@@ -2537,32 +2564,54 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
  			  int n_vifs,
  			  enum ieee80211_chanctx_switch_mode mode)
  {
@@ -195,7 +195,7 @@
  
  static int
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index f9ed473a..ea399a0b 100644
+index e9a1837..ed8b07f 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -375,6 +375,7 @@ mt7996_mcu_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
@@ -327,7 +327,7 @@
  	dev_kfree_skb(skb);
  	return mt76_mcu_skb_send_msg(&phy->dev->mt76, rskb,
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 5e217719..c39dcc3c 100644
+index 5e21771..c39dcc3 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -503,6 +503,27 @@ struct bss_bcn_mbss_tlv {
@@ -371,7 +371,7 @@
  					 MT7996_BEACON_UPDATE_SIZE)
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index b8699b65..4815cf7b 100644
+index b8699b6..4815cf7 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -352,6 +352,7 @@ struct mt7996_bss_conf {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0116-mtk-mt76-mt7996-Add-support-for-EMLSR.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0116-mtk-mt76-mt7996-Add-support-for-EMLSR.patch
index d3ced0b..4c9a732 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0116-mtk-mt76-mt7996-Add-support-for-EMLSR.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0116-mtk-mt76-mt7996-Add-support-for-EMLSR.patch
@@ -1,7 +1,7 @@
-From 05cc12c0f48dae0a560f1eca2ad2a49f80f614bf Mon Sep 17 00:00:00 2001
+From 7d6f49bd212716b610be5cb9c8905a10d5e891f2 Mon Sep 17 00:00:00 2001
 From: MeiChia Chiu <MeiChia.Chiu@mediatek.com>
 Date: Tue, 7 May 2024 15:47:23 +0800
-Subject: [PATCH 116/223] mtk: mt76: mt7996: Add support for EMLSR
+Subject: [PATCH 116/193] mtk: mt76: mt7996: Add support for EMLSR
 
 1. Register the EMLSR capability
 2. Set the EML capability of the station to firmware
@@ -19,7 +19,7 @@
  6 files changed, 166 insertions(+), 1 deletion(-)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 0a4bf9b7..2daa09cc 100644
+index 0a4bf9b..2daa09c 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -629,6 +629,13 @@ struct sta_rec_tx_proc {
@@ -45,10 +45,10 @@
  	STA_REC_TX_CAP = 0x2f,
  	STA_REC_MAX_NUM
 diff --git a/mt7996/init.c b/mt7996/init.c
-index c5c12ba0..c8eb7523 100644
+index 59ea76f..dc06fa8 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -64,6 +64,7 @@ static const struct wiphy_iftype_ext_capab mt7996_iftypes_ext_capa[] = {
+@@ -61,6 +61,7 @@ static const struct wiphy_iftype_ext_capab mt7996_iftypes_ext_capa[] = {
  		.extended_capabilities = mt7996_if_types_ext_capa,
  		.extended_capabilities_mask = mt7996_if_types_ext_capa,
  		.extended_capabilities_len = sizeof(mt7996_if_types_ext_capa),
@@ -57,7 +57,7 @@
  		/* the max number of simultaneous links is defined as the
  		 * maximum number of affiliated APs minus 1.
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index ea399a0b..76f0bb7e 100644
+index ed8b07f..93c2696 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2926,9 +2926,10 @@ mt7996_mcu_sta_eht_mld_tlv(struct mt7996_dev *dev, struct sk_buff *skb,
@@ -137,7 +137,7 @@
  void mt7996_set_wireless_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
  {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 4815cf7b..94121471 100644
+index 4815cf7..9412147 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -411,6 +411,23 @@ enum {
@@ -174,7 +174,7 @@
  void mt7996_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  			    struct ieee80211_sta *sta, struct dentry *dir);
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 84b50ab2..585c4e28 100644
+index 84b50ab..585c4e2 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -119,6 +119,13 @@ beacon_ctrl_policy[NUM_MTK_VENDOR_ATTRS_BEACON_CTRL] = {
@@ -263,7 +263,7 @@
  
  void mt7996_vendor_register(struct mt7996_phy *phy)
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 834b3d08..f6fcb623 100644
+index 834b3d0..f6fcb62 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -18,6 +18,7 @@ enum mtk_nl80211_vendor_subcmds {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0117-mtk-mt76-mt7996-add-max-mpdu-len-capability.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0117-mtk-mt76-mt7996-add-max-mpdu-len-capability.patch
index 120d25a..c4ce6b9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0117-mtk-mt76-mt7996-add-max-mpdu-len-capability.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0117-mtk-mt76-mt7996-add-max-mpdu-len-capability.patch
@@ -1,7 +1,7 @@
-From ce78d5c76700d61fa752c2ac34e53c87ed88f37d Mon Sep 17 00:00:00 2001
+From b35228edc5c705ab5f4dd540f10c153bc2fd6c89 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Thu, 9 May 2024 11:16:10 +0800
-Subject: [PATCH 117/223] mtk: mt76: mt7996: add max mpdu len capability
+Subject: [PATCH 117/193] mtk: mt76: mt7996: add max mpdu len capability
 
 Set max mpdu len to 11454 according to hardware capability.
 Without this patch, the max ampdu length would be 3895 and hurt performance.
@@ -13,10 +13,10 @@
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index c8eb7523..e674361a 100644
+index dc06fa8..252712d 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1539,7 +1539,9 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
+@@ -1536,7 +1536,9 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
  
  	eht_cap_elem->mac_cap_info[0] =
  		IEEE80211_EHT_MAC_CAP0_EPCS_PRIO_ACCESS |
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0118-mtk-mt76-mt7996-add-correct-bss_conf-for-legacy-AP-s.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0118-mtk-mt76-mt7996-add-correct-bss_conf-for-legacy-AP-s.patch
index 86ada93..d39fc46 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0118-mtk-mt76-mt7996-add-correct-bss_conf-for-legacy-AP-s.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0118-mtk-mt76-mt7996-add-correct-bss_conf-for-legacy-AP-s.patch
@@ -1,7 +1,7 @@
-From c8d1e3084599c7dbd74dd8408d0786e09851f177 Mon Sep 17 00:00:00 2001
+From 194e4d4f9a6a7c17555509795d13ee99e97d28d5 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Fri, 10 May 2024 13:35:56 +0800
-Subject: [PATCH 118/223] mtk: mt76: mt7996: add correct bss_conf for legacy AP
+Subject: [PATCH 118/193] mtk: mt76: mt7996: add correct bss_conf for legacy AP
  scan
 
 If the legacy AP interface is added but not yet started, its bss_conf
@@ -28,10 +28,10 @@
  1 file changed, 13 insertions(+), 8 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 9a265710..2b16385d 100644
+index 6e90083..9ae23f5 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2367,15 +2367,20 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2366,15 +2366,20 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	phy->scan_vif = vif;
  	phy->scan_chan_idx = 0;
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0119-mtk-mt76-mt7996-fix-set-beacon-mcu-command.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0119-mtk-mt76-mt7996-fix-set-beacon-mcu-command.patch
index 1b39d7f..2999db1 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0119-mtk-mt76-mt7996-fix-set-beacon-mcu-command.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0119-mtk-mt76-mt7996-fix-set-beacon-mcu-command.patch
@@ -1,7 +1,7 @@
-From 50cf21c286aa55676fa5a341781c5e72aa4758f5 Mon Sep 17 00:00:00 2001
+From a057701d35443223049fcd9d3d79d8fcfc6dee2f Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Tue, 14 May 2024 10:52:43 +0800
-Subject: [PATCH 119/223] mtk: mt76: mt7996: fix set beacon mcu command
+Subject: [PATCH 119/193] mtk: mt76: mt7996: fix set beacon mcu command
 
 When stopping AP, mac80211 frees beacon template before it calls
 driver's stop_ap operation. In other words, on the path of stopping
@@ -19,7 +19,7 @@
  1 file changed, 15 insertions(+), 11 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 76f0bb7e..1dcc367e 100644
+index 93c2696..5279293 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3384,7 +3384,7 @@ int mt7996_mcu_add_beacon(struct ieee80211_hw *hw,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0120-mtk-mt76-fix-incorrect-setting-of-antenna-capability.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0120-mtk-mt76-fix-incorrect-setting-of-antenna-capability.patch
index a46553e..e5b02da 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0120-mtk-mt76-fix-incorrect-setting-of-antenna-capability.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0120-mtk-mt76-fix-incorrect-setting-of-antenna-capability.patch
@@ -1,7 +1,7 @@
-From 6c2e3e0211da74d06132593d9783e0f62179ee81 Mon Sep 17 00:00:00 2001
+From 6698bc8bc9f2942eb0817e90504f573821a28cf4 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Tue, 14 May 2024 14:12:28 +0800
-Subject: [PATCH 120/223] mtk: mt76: fix incorrect setting of antenna
+Subject: [PATCH 120/193] mtk: mt76: fix incorrect setting of antenna
  capability
 
 Due to current implementation of single-wiphy architecture, only one antenna capability can be set for all PHYs via mt7996_set_antenna().
@@ -15,10 +15,10 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 2b16385d..3a85b025 100644
+index 9ae23f5..fea73b1 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1674,6 +1674,10 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
+@@ -1673,6 +1673,10 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	int band, max_nss = hweight8(hw->wiphy->available_antennas_tx);
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0121-mtk-mt76-mt7996-fix-stop_tx_ba_session-warning.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0121-mtk-mt76-mt7996-fix-stop_tx_ba_session-warning.patch
index c1f4116..2a1493c 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0121-mtk-mt76-mt7996-fix-stop_tx_ba_session-warning.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0121-mtk-mt76-mt7996-fix-stop_tx_ba_session-warning.patch
@@ -1,7 +1,7 @@
-From 6ae2f546b249738b3c1f3ad573dd2ce4d2020558 Mon Sep 17 00:00:00 2001
+From 32209f3efba3619f641ae5d989fb1b6aa9e43d68 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 15 May 2024 11:10:17 +0800
-Subject: [PATCH 121/223] mtk: mt76: mt7996: fix stop_tx_ba_session warning
+Subject: [PATCH 121/193] mtk: mt76: mt7996: fix stop_tx_ba_session warning
 
 ---
  mt7996/main.c | 11 +++++++----
@@ -9,10 +9,10 @@
  2 files changed, 13 insertions(+), 4 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 3a85b025..3f93eda0 100644
+index fea73b1..bdb1fab 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1079,7 +1079,8 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
+@@ -1078,7 +1078,8 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
  				   struct ieee80211_bss_conf *conf,
  				   struct mt7996_bss_conf *mconf,
  				   struct ieee80211_link_sta *link_sta,
@@ -22,7 +22,7 @@
  {
  	struct ieee80211_sta *sta = link_sta->sta;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
-@@ -1091,7 +1092,7 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
+@@ -1090,7 +1091,7 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
  	for (i = 0; i < ARRAY_SIZE(mlink->wcid.aggr); i++)
  			mt76_rx_aggr_stop(&dev->mt76, &mlink->wcid, i);
  
@@ -31,7 +31,7 @@
  		mt7996_mcu_teardown_mld_sta(dev, mconf, mlink);
  	else
  		mt7996_mcu_add_sta(dev, conf, mconf, link_sta, mlink, false, false);
-@@ -1205,7 +1206,8 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
+@@ -1204,7 +1205,8 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
  
  	return 0;
  error:
@@ -41,7 +41,7 @@
  	return ret;
  }
  
-@@ -1230,8 +1232,9 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1229,8 +1231,9 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  			link_conf_dereference_protected(vif, link_id);
  		struct ieee80211_link_sta *link_sta =
  			link_sta_dereference_protected(sta, link_id);
@@ -53,7 +53,7 @@
  }
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 1dcc367e..d9d29c4e 100644
+index 5279293..1f89c5f 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1740,6 +1740,9 @@ int mt7996_mcu_add_tx_ba(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0122-mtk-mt76-mt7996-do-software-link-addr-translation-fo.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0122-mtk-mt76-mt7996-do-software-link-addr-translation-fo.patch
index b0c0f55..7540087 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0122-mtk-mt76-mt7996-do-software-link-addr-translation-fo.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0122-mtk-mt76-mt7996-do-software-link-addr-translation-fo.patch
@@ -1,7 +1,7 @@
-From a6b712a367b0e76ac5982f846f096ab936138c16 Mon Sep 17 00:00:00 2001
+From 65574c009356434eb5154104a8f65c944446839b Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 15 May 2024 17:47:33 +0800
-Subject: [PATCH 122/223] mtk: mt76: mt7996: do software link addr translation
+Subject: [PATCH 122/193] mtk: mt76: mt7996: do software link addr translation
  for EAPOL
 
 Previously, we do HW link address translation for EAPOL addr1 and addr2,
@@ -27,7 +27,7 @@
  1 file changed, 31 insertions(+), 15 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 901c70e5..02045b84 100644
+index 901c70e..02045b8 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -843,7 +843,8 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0123-mtk-mt76-mt7996-add-per-band-debugfs-folder.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0123-mtk-mt76-mt7996-add-per-band-debugfs-folder.patch
index 933099c..fdd952e 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0123-mtk-mt76-mt7996-add-per-band-debugfs-folder.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0123-mtk-mt76-mt7996-add-per-band-debugfs-folder.patch
@@ -1,7 +1,7 @@
-From bfbeab14fc5c4a9caab56873328caee7fb407721 Mon Sep 17 00:00:00 2001
+From 8055630fc38101c33a667f4f1a31f6b301754130 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Thu, 16 May 2024 18:03:19 +0800
-Subject: [PATCH 123/223] mtk: mt76: mt7996: add per-band debugfs folder
+Subject: [PATCH 123/193] mtk: mt76: mt7996: add per-band debugfs folder
 
 Add per-band debugfs folder and  move upstream debugfs knob to it.
 
@@ -14,7 +14,7 @@
  3 files changed, 42 insertions(+), 18 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 7e545f61..d2b38efb 100644
+index 7e545f6..d2b38ef 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -1073,21 +1073,49 @@ mt7996_airtime_read(struct seq_file *s, void *data)
@@ -90,10 +90,10 @@
  			    &fops_fw_debug_muru_disable);
  
 diff --git a/mt7996/init.c b/mt7996/init.c
-index e674361a..9a2e51f8 100644
+index 252712d..e4fd6da 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -787,7 +787,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -784,7 +784,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  			goto error;
  	}
  
@@ -102,7 +102,7 @@
  	if (ret)
  		goto error;
  
-@@ -1728,6 +1728,14 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1725,6 +1725,14 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	if (ret)
  		return ret;
  
@@ -117,7 +117,7 @@
  	ret = mt7996_register_phy(dev, mt7996_phy2(dev), MT_BAND1);
  	if (ret)
  		return ret;
-@@ -1752,10 +1760,6 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1749,10 +1757,6 @@ int mt7996_register_device(struct mt7996_dev *dev)
  			goto error;
  	}
  
@@ -129,7 +129,7 @@
  	if (ret)
  		goto error;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 94121471..ef41beee 100644
+index 9412147..ef41bee 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1230,7 +1230,8 @@ int mt7996_dfs_init_radar_detector(struct mt7996_phy *phy);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0124-mtk-mt76-mt7996-move-internal-debugfs-knob-to-per-ba.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0124-mtk-mt76-mt7996-move-internal-debugfs-knob-to-per-ba.patch
index 0af54d5..0071ccc 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0124-mtk-mt76-mt7996-move-internal-debugfs-knob-to-per-ba.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0124-mtk-mt76-mt7996-move-internal-debugfs-knob-to-per-ba.patch
@@ -1,7 +1,7 @@
-From 4a9412a2376d1a0c1c642cc2dea242b059a7463d Mon Sep 17 00:00:00 2001
+From 60bad0ddca997fdc6e0a235ded2def0fdb720b10 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Thu, 16 May 2024 18:04:28 +0800
-Subject: [PATCH 124/223] mtk: mt76: mt7996: move internal debugfs knob to
+Subject: [PATCH 124/193] mtk: mt76: mt7996: move internal debugfs knob to
  per-band folder
 
 Change-Id: I03efc222cd57035aa089babbc94c70e807494763
@@ -13,7 +13,7 @@
  3 files changed, 44 insertions(+), 81 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index d2b38efb..9a62dfda 100644
+index d2b38ef..9a62dfd 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -1105,6 +1105,9 @@ int mt7996_init_band_debugfs(struct mt7996_phy *phy)
@@ -36,7 +36,7 @@
  
  	return 0;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ef41beee..21be14d0 100644
+index ef41bee..21be14d 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1290,7 +1290,8 @@ enum edcca_bw_id {
@@ -50,7 +50,7 @@
  int mt7996_mcu_set_sr_enable(struct mt7996_phy *phy, u8 action, u64 val, bool set);
  void mt7996_mcu_rx_sr_event(struct mt7996_dev *dev, struct sk_buff *skb);
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 0cf48193..06fa83bb 100644
+index 0cf4819..06fa83b 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -14,13 +14,14 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0125-mtk-mt76-mt7996-refactor-amsdu-debugfs.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0125-mtk-mt76-mt7996-refactor-amsdu-debugfs.patch
index 5670dc8..3c55ef2 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0125-mtk-mt76-mt7996-refactor-amsdu-debugfs.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0125-mtk-mt76-mt7996-refactor-amsdu-debugfs.patch
@@ -1,7 +1,7 @@
-From e7b50308230e874028c65233d5e2f7a7d1ad6479 Mon Sep 17 00:00:00 2001
+From a478298624f92ce97005a37b5a67e6b9bae17654 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Fri, 17 May 2024 17:34:03 +0800
-Subject: [PATCH 125/223] mtk: mt76: mt7996: refactor amsdu debugfs
+Subject: [PATCH 125/193] mtk: mt76: mt7996: refactor amsdu debugfs
 
 1. Remove hw_amsdu_info which is duplicated with amsdu_info.
 
@@ -16,7 +16,7 @@
  1 file changed, 22 insertions(+), 41 deletions(-)
 
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 06fa83bb..9d8c1942 100644
+index 06fa83b..9d8c194 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -210,28 +210,35 @@ DEFINE_SHOW_ATTRIBUTE(mt7996_agginfo);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0126-mtk-mt76-mt7996-trigger-channel-calibration-for-DFS-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0126-mtk-mt76-mt7996-trigger-channel-calibration-for-DFS-.patch
index 11e2f62..fd1408d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0126-mtk-mt76-mt7996-trigger-channel-calibration-for-DFS-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0126-mtk-mt76-mt7996-trigger-channel-calibration-for-DFS-.patch
@@ -1,7 +1,7 @@
-From 799a94c158a9c9df4586f8efec1cf586a7ad29d9 Mon Sep 17 00:00:00 2001
+From 1dfd2813ec62c27890085927164b4613284c1f12 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 17 May 2024 14:49:50 +0800
-Subject: [PATCH 126/223] mtk: mt76: mt7996: trigger channel calibration for
+Subject: [PATCH 126/193] mtk: mt76: mt7996: trigger channel calibration for
  DFS link after sta is associated
 
 Trigger channel calibration (set channel with switch reason = NORMAL)
@@ -18,7 +18,7 @@
  4 files changed, 18 insertions(+), 10 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 3f93eda0..f45f6c02 100644
+index bdb1fab..161b5cb 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -82,12 +82,12 @@ int mt7996_run(struct ieee80211_hw *hw)
@@ -50,7 +50,7 @@
  	if (ret)
  		goto out;
  
-@@ -2736,6 +2736,13 @@ mt7996_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2735,6 +2735,13 @@ mt7996_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  				next_time = min(next_time,
  						MT7996_MAX_BEACON_LOSS *
  						conf->beacon_int);
@@ -65,7 +65,7 @@
  
  			ieee80211_queue_delayed_work(hw, &mvif->beacon_mon_work,
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index d9d29c4e..a6f2c157 100644
+index 1f89c5f..29dc95b 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -4405,7 +4405,7 @@ int mt7996_mcu_rdd_background_enable(struct mt7996_phy *phy,
@@ -97,7 +97,7 @@
  	else
  		req.switch_reason = CH_SWITCH_NORMAL;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 21be14d0..07c72d2b 100644
+index 21be14d..07c72d2 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1058,7 +1058,7 @@ int mt7996_mcu_add_rate_ctrl(struct mt7996_dev *dev,
@@ -110,7 +110,7 @@
  int mt7996_mcu_set_fixed_rate_ctrl(struct mt7996_dev *dev,
  				   void *data, u16 version);
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 799e443c..c68619cb 100644
+index 799e443..c68619c 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -550,7 +550,7 @@ mt7996_tm_dpd_prek_send_req(struct mt7996_phy *phy, struct mt7996_tm_req *req,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0127-mtk-mt76-mt7996-do-not-remove-bss_info-and-starec-wh.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0127-mtk-mt76-mt7996-do-not-remove-bss_info-and-starec-wh.patch
index acef98c..c03003a 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0127-mtk-mt76-mt7996-do-not-remove-bss_info-and-starec-wh.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0127-mtk-mt76-mt7996-do-not-remove-bss_info-and-starec-wh.patch
@@ -1,7 +1,7 @@
-From ebc64cf0ebe700231a5b94b299abb49b8db88308 Mon Sep 17 00:00:00 2001
+From 81e8f959269eed83f6611ea65f7e1fc22bb4d934 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 22 May 2024 18:22:51 +0800
-Subject: [PATCH 127/223] mtk: mt76: mt7996: do not remove bss_info and starec
+Subject: [PATCH 127/193] mtk: mt76: mt7996: do not remove bss_info and starec
  when assign_vif_chanctx
 
 When STA interface re-connect from rootAP, it would unsign/assign vif
@@ -17,7 +17,7 @@
  1 file changed, 13 insertions(+), 4 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index f45f6c02..be0864a0 100644
+index 161b5cb..5a6165b 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -338,6 +338,9 @@ static int mt7996_add_bss_conf(struct mt7996_phy *phy,
@@ -30,7 +30,7 @@
  	if (conf != &vif->bss_conf) {
  		mconf = kzalloc(sizeof(*mconf), GFP_KERNEL);
  		if (!mconf)
-@@ -2520,10 +2523,16 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2519,10 +2522,16 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mutex_lock(&phy->dev->mt76.mutex);
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0128-mtk-mt76-mt7996-remove-chanctx-in-mt7996_bss_conf.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0128-mtk-mt76-mt7996-remove-chanctx-in-mt7996_bss_conf.patch
index 30d4ef1..b8f0275 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0128-mtk-mt76-mt7996-remove-chanctx-in-mt7996_bss_conf.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0128-mtk-mt76-mt7996-remove-chanctx-in-mt7996_bss_conf.patch
@@ -1,7 +1,7 @@
-From 279a649bea9faaab320a88c2dfeedd83668d059c Mon Sep 17 00:00:00 2001
+From 84e65a5251ffd3e849a14152fd919ce6a745cb8c Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Tue, 28 May 2024 09:33:11 +0800
-Subject: [PATCH 128/223] mtk: mt76: mt7996: remove chanctx in mt7996_bss_conf
+Subject: [PATCH 128/193] mtk: mt76: mt7996: remove chanctx in mt7996_bss_conf
 
 Different vif under the same phy cannot use different chanctx.
 So it is better to maintain the chanctx in mt7996_phy.
@@ -15,10 +15,10 @@
  2 files changed, 1 insertion(+), 9 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index be0864a0..2b272cc4 100644
+index 5a6165b..c8dc068 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2540,8 +2540,6 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2539,8 +2539,6 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		return ret;
  	}
  
@@ -27,7 +27,7 @@
  	ctx->nbss_assigned++;
  	mvif->band_to_link[phy->mt76->band_idx] = link_id;
  
-@@ -2560,8 +2558,6 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2559,8 +2557,6 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  {
  	struct mt7996_chanctx *ctx = mt7996_chanctx_get(conf);
  	struct mt7996_phy *phy = ctx->phy;
@@ -36,7 +36,7 @@
  
  	wiphy_info(hw->wiphy, "Remove VIF (addr: %pM, type: %d, link_id: %d) from channel context: %d MHz\n",
  		   vif->addr, vif->type, link_conf->link_id,
-@@ -2573,8 +2569,6 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2572,8 +2568,6 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	if (test_bit(MT76_SCANNING, &phy->mt76->state))
  		mt7996_scan_complete(phy, true);
  
@@ -45,7 +45,7 @@
  	ctx->nbss_assigned--;
  
  	mutex_unlock(&phy->dev->mt76.mutex);
-@@ -2748,7 +2742,7 @@ mt7996_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2747,7 +2741,7 @@ mt7996_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  				/* trigger calibration for DFS link */
  				if (!cfg80211_reg_can_beacon(hw->wiphy,
@@ -55,7 +55,7 @@
  					mt7996_mcu_set_chan_info(phy, UNI_CHANNEL_SWITCH,
  								 true);
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 07c72d2b..9f58a793 100644
+index 07c72d2..9f58a79 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -348,8 +348,6 @@ struct mt7996_bss_conf {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0129-mtk-mt76-mt7996-temporarily-disable-EPCS.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0129-mtk-mt76-mt7996-temporarily-disable-EPCS.patch
index 1697db6..a3c4784 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0129-mtk-mt76-mt7996-temporarily-disable-EPCS.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0129-mtk-mt76-mt7996-temporarily-disable-EPCS.patch
@@ -1,7 +1,7 @@
-From b10446fafd8688cdcfc358bd7a293cb3cc69aa6c Mon Sep 17 00:00:00 2001
+From 8dda32e23c7d7d57e7f1daa70cfc35fc9b951d79 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Tue, 28 May 2024 15:58:57 +0800
-Subject: [PATCH 129/223] mtk: mt76: mt7996: temporarily disable EPCS
+Subject: [PATCH 129/193] mtk: mt76: mt7996: temporarily disable EPCS
 
 EPCS is not yet ready, so do not claim to support it.
 
@@ -12,10 +12,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 9a2e51f8..32c79bd8 100644
+index e4fd6da..1fe3f09 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1538,7 +1538,7 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
+@@ -1535,7 +1535,7 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
  	eht_cap->has_eht = true;
  
  	eht_cap_elem->mac_cap_info[0] =
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0130-mtk-mt76-mt7996-fix-kite-can-t-handle-11v-beacon-on-.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0130-mtk-mt76-mt7996-fix-kite-can-t-handle-11v-beacon-on-.patch
index b9f377e..3094b7d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0130-mtk-mt76-mt7996-fix-kite-can-t-handle-11v-beacon-on-.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0130-mtk-mt76-mt7996-fix-kite-can-t-handle-11v-beacon-on-.patch
@@ -1,7 +1,7 @@
-From f703aab4906d08ae441eb0c710c288db45445cae Mon Sep 17 00:00:00 2001
+From 0d11b7b5e82424cc85fb019ae36f42ce2e602d5c Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Thu, 30 May 2024 17:39:38 +0800
-Subject: [PATCH 130/223] mtk: mt76: mt7996: fix kite can't handle 11v beacon
+Subject: [PATCH 130/193] mtk: mt76: mt7996: fix kite can't handle 11v beacon
  on sta side
 
 this hw flag SUPPORTS_MULTI_BSSID need to set. otherwise cfg80211_parse_mbssid_data will not handle 11v mbss beacon
@@ -12,10 +12,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 32c79bd8..001f0d9c 100644
+index 1fe3f09..7d0dea4 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -48,6 +48,7 @@ static const struct ieee80211_iface_combination if_comb[] = {
+@@ -45,6 +45,7 @@ static const struct ieee80211_iface_combination if_comb[] = {
  
  static const u8 mt7996_if_types_ext_capa[] = {
  	[0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
@@ -23,7 +23,7 @@
  	[7] = WLAN_EXT_CAPA8_OPMODE_NOTIF,
  };
  
-@@ -447,7 +448,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -444,7 +445,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	ieee80211_hw_set(hw, SUPPORTS_TX_ENCAP_OFFLOAD);
  	ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD);
  	ieee80211_hw_set(hw, WANT_MONITOR_VIF);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0131-mtk-mt76-mt7996-add-post-channel-switch-for-DFS-chan.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0131-mtk-mt76-mt7996-add-post-channel-switch-for-DFS-chan.patch
index 421aa70..a5f9932 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0131-mtk-mt76-mt7996-add-post-channel-switch-for-DFS-chan.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0131-mtk-mt76-mt7996-add-post-channel-switch-for-DFS-chan.patch
@@ -1,7 +1,7 @@
-From 00ef78d4d0738e36f529950b754e0042bdd57a68 Mon Sep 17 00:00:00 2001
+From fc4b0be9b3360a333f7bdfb75ab55e6f8edeb2d2 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 21 Feb 2024 13:41:23 +0800
-Subject: [PATCH 131/223] mtk: mt76: mt7996: add post channel switch for DFS
+Subject: [PATCH 131/193] mtk: mt76: mt7996: add post channel switch for DFS
  channel switching
 
 Add post channel switch callback for DFS channel switch support
@@ -17,10 +17,10 @@
  2 files changed, 17 insertions(+)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 001f0d9c..420c23c9 100644
+index 7d0dea4..311d7cc 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -451,6 +451,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -448,6 +448,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	ieee80211_hw_set(hw, SUPPORTS_MULTI_BSSID);
  	ieee80211_hw_set(hw, CHANCTX_STA_CSA);
  	ieee80211_hw_set(hw, CONNECTION_MONITOR);
@@ -29,10 +29,10 @@
  	hw->max_tx_fragments = 4;
  
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 2b272cc4..485c87f9 100644
+index c8dc068..170657f 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1078,6 +1078,21 @@ fail:
+@@ -1077,6 +1077,21 @@ fail:
  	mutex_unlock(&dev->mt76.mutex);
  }
  
@@ -54,7 +54,7 @@
  static void mt7996_remove_link_sta(struct mt7996_dev *dev,
  				   struct ieee80211_bss_conf *conf,
  				   struct mt7996_bss_conf *mconf,
-@@ -2795,6 +2810,7 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2794,6 +2809,7 @@ const struct ieee80211_ops mt7996_ops = {
  	.release_buffered_frames = mt76_release_buffered_frames,
  	.get_txpower = mt7996_get_txpower,
  	.channel_switch_beacon = mt7996_channel_switch_beacon,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0132-mtk-mt76-mt7996-update-testmode-bf-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0132-mtk-mt76-mt7996-update-testmode-bf-support.patch
index 40e7ee1..4681bca 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0132-mtk-mt76-mt7996-update-testmode-bf-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0132-mtk-mt76-mt7996-update-testmode-bf-support.patch
@@ -1,7 +1,7 @@
-From 04a4a2672095e1b0162153655874ba194370ffc2 Mon Sep 17 00:00:00 2001
+From 5d2c4853535d0f98c5a0f5259c713c99b663175c Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Mon, 3 Jun 2024 16:40:38 +0800
-Subject: [PATCH 132/223] mtk: mt76: mt7996: update testmode bf support
+Subject: [PATCH 132/193] mtk: mt76: mt7996: update testmode bf support
 
 Fix bssid & omac idx to band idx when testmode is enabled
 
@@ -20,7 +20,7 @@
  6 files changed, 98 insertions(+), 34 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index bc263bd4..526b6298 100644
+index bc263bd..526b629 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -796,6 +796,9 @@ struct mt76_testmode_data {
@@ -34,7 +34,7 @@
  
  	u8 tx_power[4];
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 485c87f9..f67e1b5d 100644
+index 170657f..5ed82a0 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -349,16 +349,27 @@ static int mt7996_add_bss_conf(struct mt7996_phy *phy,
@@ -75,7 +75,7 @@
  
  	mconf->own_mld_id = get_own_mld_idx(dev->mld_id_mask, false);
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index c68619cb..240227a9 100644
+index c68619c..240227a 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -241,8 +241,10 @@ mt7996_tm_init(struct mt7996_phy *phy, bool en)
@@ -210,7 +210,7 @@
  
  	if (ebf) {
 diff --git a/testmode.c b/testmode.c
-index a1744755..2834400f 100644
+index a174475..2834400 100644
 --- a/testmode.c
 +++ b/testmode.c
 @@ -25,6 +25,8 @@ const struct nla_policy mt76_tm_policy[NUM_MT76_TM_ATTRS] = {
@@ -261,7 +261,7 @@
  	     nla_put_u32(msg, MT76_TM_ATTR_FREQ_OFFSET, td->freq_offset)))
  		goto out;
 diff --git a/testmode.h b/testmode.h
-index 794a74f9..44f9984c 100644
+index 794a74f..44f9984 100644
 --- a/testmode.h
 +++ b/testmode.h
 @@ -37,6 +37,9 @@
@@ -285,7 +285,7 @@
  
  	MT76_TM_ATTR_STATS,
 diff --git a/tools/fields.c b/tools/fields.c
-index f793d1a5..8b372602 100644
+index f793d1a..8b37260 100644
 --- a/tools/fields.c
 +++ b/tools/fields.c
 @@ -35,13 +35,21 @@ static const char * const testmode_tx_mode[] = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0133-mtk-mt76-mt7996-add-mlo-related-debugfs-knob.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0133-mtk-mt76-mt7996-add-mlo-related-debugfs-knob.patch
index 819ecfb..a65f9d2 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0133-mtk-mt76-mt7996-add-mlo-related-debugfs-knob.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0133-mtk-mt76-mt7996-add-mlo-related-debugfs-knob.patch
@@ -1,7 +1,7 @@
-From 4f2f27ccf6133c9f51f798a872387aa15337b923 Mon Sep 17 00:00:00 2001
+From 5271bd64b66e489a96dd99571385f700baed6f5c Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 27 May 2024 19:06:04 +0800
-Subject: [PATCH 133/223] mtk: mt76: mt7996: add mlo related debugfs knob
+Subject: [PATCH 133/193] mtk: mt76: mt7996: add mlo related debugfs knob
 
 Add the following debugfs knob
 Per-bss link info
@@ -21,7 +21,7 @@
  3 files changed, 119 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 9a62dfda..bafbcda1 100644
+index 9a62dfd..bafbcda 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -1330,11 +1330,128 @@ mt7996_queues_show(struct seq_file *s, void *data)
@@ -162,10 +162,10 @@
  	seq_printf(file, "\t\tMPDU Fails: %u (PER: %u.%u%%)\n", stats->tx_failed,
  		   stats->tx_mpdus ? stats->tx_failed * 1000 / stats->tx_mpdus / 10 : 0,
 diff --git a/mt7996/main.c b/mt7996/main.c
-index f67e1b5d..915a9f4f 100644
+index 5ed82a0..7bd189b 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2845,6 +2845,7 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2844,6 +2844,7 @@ const struct ieee80211_ops mt7996_ops = {
  	.sta_add_debugfs = mt7996_sta_add_debugfs,
  	.link_sta_add_debugfs = mt7996_link_sta_add_debugfs,
  	// .link_add_debugfs = mt7996_link_add_debugfs,
@@ -174,7 +174,7 @@
  	.set_radar_background = mt7996_set_radar_background,
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 9f58a793..984ae79e 100644
+index 9f58a79..984ae79 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1251,6 +1251,7 @@ int mt7996_mcu_set_eml_omn(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0134-mtk-mt76-mt7996-add-debugfs-knob-to-show-mlo-related.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0134-mtk-mt76-mt7996-add-debugfs-knob-to-show-mlo-related.patch
index ca24c64..84d20a9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0134-mtk-mt76-mt7996-add-debugfs-knob-to-show-mlo-related.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0134-mtk-mt76-mt7996-add-debugfs-knob-to-show-mlo-related.patch
@@ -1,7 +1,7 @@
-From c2753e78a28cc8efca84dcf1e7d33dff6ccfa528 Mon Sep 17 00:00:00 2001
+From 09b0caba56ffde8a00f5e4cf2c2a90fcd71d5e21 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 29 May 2024 18:45:50 +0800
-Subject: [PATCH 134/223] mtk: mt76: mt7996: add debugfs knob to show mlo
+Subject: [PATCH 134/193] mtk: mt76: mt7996: add debugfs knob to show mlo
  related table
 
 Add the following debugfs knob
@@ -19,7 +19,7 @@
  4 files changed, 119 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index bafbcda1..240c6d46 100644
+index bafbcda..240c6d4 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -1107,6 +1107,7 @@ int mt7996_init_band_debugfs(struct mt7996_phy *phy)
@@ -40,7 +40,7 @@
  	}
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 984ae79e..8af3c400 100644
+index 984ae79..8af3c40 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1326,7 +1326,8 @@ void mt7996_packet_log_to_host(struct mt7996_dev *dev, const void *data, int len
@@ -54,7 +54,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debug_i.h b/mt7996/mtk_debug_i.h
-index d3756fa2..cec8d57e 100644
+index d3756fa..cec8d57 100644
 --- a/mt7996/mtk_debug_i.h
 +++ b/mt7996/mtk_debug_i.h
 @@ -982,6 +982,30 @@
@@ -89,7 +89,7 @@
  
  #endif
 diff --git a/mt7996/mtk_debugfs_i.c b/mt7996/mtk_debugfs_i.c
-index ea412cd5..839c3e31 100644
+index ea412cd..839c3e3 100644
 --- a/mt7996/mtk_debugfs_i.c
 +++ b/mt7996/mtk_debugfs_i.c
 @@ -695,7 +695,86 @@ static int mt7996_rx_msdu_pg_read(struct seq_file *s, void *data)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0135-mtk-mt76-mt7996-add-debugfs-knob-to-set-agc.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0135-mtk-mt76-mt7996-add-debugfs-knob-to-set-agc.patch
index 4aa3e88..28fee85 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0135-mtk-mt76-mt7996-add-debugfs-knob-to-set-agc.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0135-mtk-mt76-mt7996-add-debugfs-knob-to-set-agc.patch
@@ -1,7 +1,7 @@
-From 4483bcc086666bb2eaf40774c30d35d60911524b Mon Sep 17 00:00:00 2001
+From 70dea3d8ac2ae513c116b0fc075552a46f3fcf47 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Fri, 31 May 2024 10:55:03 +0800
-Subject: [PATCH 135/223] mtk: mt76: mt7996: add debugfs knob to set agc
+Subject: [PATCH 135/193] mtk: mt76: mt7996: add debugfs knob to set agc
 
 Add the following debugfs knob
 - /sys/kernel/debug/ieee80211/phy0/mt76/mlo_agc_tx
@@ -18,7 +18,7 @@
  5 files changed, 131 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 2daa09cc..73cf311a 100644
+index 2daa09c..73cf311 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1317,6 +1317,7 @@ enum {
@@ -30,7 +30,7 @@
  	MCU_UNI_CMD_ALL_STA_INFO = 0x6e,
  	MCU_UNI_CMD_ASSERT_DUMP = 0x6f,
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index c39dcc3c..389aab63 100644
+index c39dcc3..389aab6 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1157,6 +1157,26 @@ enum {
@@ -61,7 +61,7 @@
  #define MT7996_PATCH_SCRAMBLE_KEY	GENMASK(15, 8)
  #define MT7996_PATCH_AES_KEY		GENMASK(7, 0)
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 8af3c400..7bb17126 100644
+index 8af3c40..7bb1712 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1328,6 +1328,7 @@ void mt7996_dump_bmac_txd_info(struct seq_file *s, struct mt7996_dev *dev,
@@ -73,7 +73,7 @@
  
  #ifdef CONFIG_NET_MEDIATEK_SOC_WED
 diff --git a/mt7996/mtk_debugfs_i.c b/mt7996/mtk_debugfs_i.c
-index 839c3e31..852d1b12 100644
+index 839c3e3..852d1b1 100644
 --- a/mt7996/mtk_debugfs_i.c
 +++ b/mt7996/mtk_debugfs_i.c
 @@ -774,6 +774,106 @@ mt7996_agg_table_show(struct seq_file *s, void *data)
@@ -194,7 +194,7 @@
  }
  
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 809181e0..82e3f721 100644
+index 809181e..82e3f72 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -1364,4 +1364,10 @@ int mt7996_mcu_thermal_debug(struct mt7996_dev *dev, u8 mode, u8 action)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0136-mtk-mt76-mt7996-set-unused-band-to-UNSPECIFIED-in-ba.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0136-mtk-mt76-mt7996-set-unused-band-to-UNSPECIFIED-in-ba.patch
index 9bc37e1..4e55b7e 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0136-mtk-mt76-mt7996-set-unused-band-to-UNSPECIFIED-in-ba.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0136-mtk-mt76-mt7996-set-unused-band-to-UNSPECIFIED-in-ba.patch
@@ -1,7 +1,7 @@
-From c179e8dd87acac5c2a7d04bb7e58722da862fc95 Mon Sep 17 00:00:00 2001
+From c14b26df4ab2474ea89fbc410f570d28d415bb9f Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 5 Jun 2024 10:11:13 +0800
-Subject: [PATCH 136/223] mtk: mt76: mt7996: set unused band to UNSPECIFIED in
+Subject: [PATCH 136/193] mtk: mt76: mt7996: set unused band to UNSPECIFIED in
  band_to_link
 
 Change-Id: I21190c5952a9c2f2a7f5f619f8d1fb23dd127c6f
@@ -13,7 +13,7 @@
  3 files changed, 10 insertions(+)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 915a9f4f..9ad4a9d6 100644
+index 7bd189b..436ef82 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -482,6 +482,8 @@ static int mt7996_add_interface(struct ieee80211_hw *hw,
@@ -25,7 +25,7 @@
  
  	if (vif->type == NL80211_IFTYPE_STATION)
  		ret = mt7996_add_bss_conf(phy, vif, &vif->bss_conf);
-@@ -1054,6 +1056,8 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
+@@ -1053,6 +1055,8 @@ mt7996_channel_switch_beacon(struct ieee80211_hw *hw,
  
  	mutex_lock(&dev->mt76.mutex);
  	link_id = mvif->band_to_link[phy->mt76->band_idx];
@@ -35,7 +35,7 @@
  	if (!mvif->cs_ready_links)
  		mvif->cs_link_id = link_id;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index a6f2c157..a62b5f9e 100644
+index 29dc95b..b498e9e 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -379,6 +379,9 @@ mt7996_mcu_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
@@ -49,7 +49,7 @@
  
  	if (!link_conf || !link_conf->csa_active || vif->type == NL80211_IFTYPE_STATION)
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 7bb17126..3ff9cb68 100644
+index 7bb1712..3ff9cb6 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -966,6 +966,9 @@ mt7996_get_link_wcid(struct mt7996_dev *dev, u16 idx, u8 band_idx)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0137-mtk-mt76-mt7996-support-per-link-report-of-bss-color.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0137-mtk-mt76-mt7996-support-per-link-report-of-bss-color.patch
index 6839514..ac98060 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0137-mtk-mt76-mt7996-support-per-link-report-of-bss-color.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0137-mtk-mt76-mt7996-support-per-link-report-of-bss-color.patch
@@ -1,7 +1,7 @@
-From c481c255433c20d071b76c82d8c4f4372a13fd17 Mon Sep 17 00:00:00 2001
+From 9258ff3f702e39c417fa0a15815d4b494cd4f917 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 5 Jun 2024 19:11:13 +0800
-Subject: [PATCH 137/223] mtk: mt76: mt7996: support per-link report of bss
+Subject: [PATCH 137/193] mtk: mt76: mt7996: support per-link report of bss
  color change
 
 ieee80211_color_change_finish() has been extended for per-link support.
@@ -13,7 +13,7 @@
  1 file changed, 14 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index a62b5f9e..043f8d5c 100644
+index b498e9e..03ddb6a 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -477,10 +477,21 @@ out:
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0138-mtk-mt76-mt7996-Fix-inconsistent-QoS-mapping-between.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0138-mtk-mt76-mt7996-Fix-inconsistent-QoS-mapping-between.patch
index 64030e7..f44171e 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0138-mtk-mt76-mt7996-Fix-inconsistent-QoS-mapping-between.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0138-mtk-mt76-mt7996-Fix-inconsistent-QoS-mapping-between.patch
@@ -1,7 +1,7 @@
-From 0f060bd8db3e101c30617548032f00adabcd9ffa Mon Sep 17 00:00:00 2001
+From fead2ef7e8e72032188e81fc53c58dfbe4eb3940 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Fri, 7 Jun 2024 13:51:25 +0800
-Subject: [PATCH 138/223] mtk: mt76: mt7996: Fix inconsistent QoS mapping
+Subject: [PATCH 138/193] mtk: mt76: mt7996: Fix inconsistent QoS mapping
  between SW and HW
 
 Fix inconsistent QoS mapping between SW and HW.
@@ -28,7 +28,7 @@
  4 files changed, 94 insertions(+), 1 deletion(-)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 73cf311a..1971c7bf 100644
+index 73cf311..1971c7b 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1267,6 +1267,7 @@ enum {
@@ -40,10 +40,10 @@
  
  enum {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 9ad4a9d6..c1c62d32 100644
+index 436ef82..dc3f555 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2369,6 +2369,9 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -2368,6 +2368,9 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  
  	ctx->dev = NULL;
  
@@ -53,7 +53,7 @@
  	return 0;
  }
  
-@@ -2798,6 +2801,33 @@ mt7996_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2797,6 +2800,33 @@ mt7996_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	}
  }
  
@@ -87,14 +87,14 @@
  const struct ieee80211_ops mt7996_ops = {
  	.add_chanctx = ieee80211_emulate_add_chanctx,
  	.remove_chanctx = ieee80211_emulate_remove_chanctx,
-@@ -2865,4 +2895,5 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2864,4 +2894,5 @@ const struct ieee80211_ops mt7996_ops = {
  	.switch_vif_chanctx = mt7996_switch_vif_chanctx,
  	.change_vif_links = mt7996_change_vif_links,
  	.change_sta_links = mt7996_change_sta_links,
 +	.set_qos_map = mt7996_set_qos_map,
  };
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 043f8d5c..edbe9cbe 100644
+index 03ddb6a..675af8c 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -6693,4 +6693,59 @@ int mt7996_mcu_set_csi(struct mt7996_phy *phy, u8 mode,
@@ -158,7 +158,7 @@
 +}
  #endif
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 3ff9cb68..d97df22f 100644
+index 3ff9cb6..d97df22 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -136,6 +136,8 @@
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0139-mtk-mt76-mt7996-add-support-for-MLD-interface-to-sca.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0139-mtk-mt76-mt7996-add-support-for-MLD-interface-to-sca.patch
index 366eea1..c7aa096 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0139-mtk-mt76-mt7996-add-support-for-MLD-interface-to-sca.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0139-mtk-mt76-mt7996-add-support-for-MLD-interface-to-sca.patch
@@ -1,7 +1,7 @@
-From 648d4259da57439452141aeaeed96722d96c1c56 Mon Sep 17 00:00:00 2001
+From 36b4da069bd63833b025da512fe9301aecf302a9 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Thu, 30 May 2024 15:26:34 +0800
-Subject: [PATCH 139/223] mtk: mt76: mt7996: add support for MLD interface to
+Subject: [PATCH 139/193] mtk: mt76: mt7996: add support for MLD interface to
  scan
 
 Before queueing a HW scan work, mt7996_hw_scan() should make sure that
@@ -27,10 +27,10 @@
  1 file changed, 77 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index c1c62d32..5ddf3a1b 100644
+index dc3f555..5207716 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2379,10 +2379,24 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
+@@ -2378,10 +2378,24 @@ mt7996_net_fill_forward_path(struct ieee80211_hw *hw,
  
  void mt7996_scan_complete(struct mt7996_phy *phy, bool aborted)
  {
@@ -56,7 +56,7 @@
  
  	ieee80211_scan_completed(mvif->hw, &info);
  	phy->scan_chan = NULL;
-@@ -2398,6 +2412,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2397,6 +2411,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct cfg80211_scan_request *req = &hw_req->req;
  	struct mt7996_phy *phy = mt7996_band_phy(hw, req->channels[0]->band);
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
@@ -64,7 +64,7 @@
  	int ret;
  
  	mutex_lock(&phy->dev->mt76.mutex);
-@@ -2411,7 +2426,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2410,7 +2425,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	phy->scan_chan_idx = 0;
  
  	if (!ieee80211_vif_is_mld(vif)) {
@@ -73,7 +73,7 @@
  
  		if (mconf && mconf->phy != phy) {
  			mt7996_remove_bss_conf(vif, &vif->bss_conf, &mvif->deflink);
-@@ -2425,6 +2440,66 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2424,6 +2439,66 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  				return ret;
  			}
  		}
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0140-mtk-mt76-mt7996-add-per-link-txpower-config.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0140-mtk-mt76-mt7996-add-per-link-txpower-config.patch
index 71363f4..7ea07b3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0140-mtk-mt76-mt7996-add-per-link-txpower-config.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0140-mtk-mt76-mt7996-add-per-link-txpower-config.patch
@@ -1,7 +1,7 @@
-From 20c5dfdc5afbb01b853689dd45f1826e9644a87b Mon Sep 17 00:00:00 2001
+From 144595bc970deaff03247b457a43cf8685328c97 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Tue, 11 Jun 2024 17:04:00 +0800
-Subject: [PATCH 140/223] mtk: mt76: mt7996: add per-link txpower config
+Subject: [PATCH 140/193] mtk: mt76: mt7996: add per-link txpower config
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -9,10 +9,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 5ddf3a1b..ed64cf06 100644
+index 5207716..cc0c5ac 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1016,7 +1016,7 @@ out:
+@@ -1015,7 +1015,7 @@ out:
  }
  
  int mt7996_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
@@ -21,7 +21,7 @@
  {
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_bss_conf *mconf;
-@@ -1025,7 +1025,7 @@ int mt7996_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1024,7 +1024,7 @@ int mt7996_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	int delta;
  
  	mutex_lock(&dev->mt76.mutex);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0141-mtk-mt76-mt7996-update-TX-RX-rates-via-MCU-command.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0141-mtk-mt76-mt7996-update-TX-RX-rates-via-MCU-command.patch
index f23c7ee..ebdd4e3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0141-mtk-mt76-mt7996-update-TX-RX-rates-via-MCU-command.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0141-mtk-mt76-mt7996-update-TX-RX-rates-via-MCU-command.patch
@@ -1,7 +1,7 @@
-From c394984fc5a6e52aa435ead825e617fb3a0e7b81 Mon Sep 17 00:00:00 2001
+From 0c094b292cac8e88528a2eeb7ffc47125b2a63f4 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Fri, 7 Jun 2024 10:44:45 +0800
-Subject: [PATCH 141/223] mtk: mt76: mt7996: update TX/RX rates via MCU command
+Subject: [PATCH 141/193] mtk: mt76: mt7996: update TX/RX rates via MCU command
 
 Update TX/RX rates via MCU command to address following issues:
 1. TX rate was originally updated via TXS. However in MLO connection, WCID from TXS may not represent the actually used link.
@@ -20,7 +20,7 @@
  4 files changed, 161 insertions(+), 131 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 526b6298..de6f2be0 100644
+index 526b629..de6f2be 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -374,6 +374,7 @@ struct mt76_wcid {
@@ -32,7 +32,7 @@
  
  	u16 idx;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 02045b84..39336832 100644
+index 02045b8..3933683 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1254,15 +1254,12 @@ mt7996_mac_add_txs_skb(struct mt7996_dev *dev, struct mt76_wcid *wcid,
@@ -174,10 +174,10 @@
  		mt76_tx_status_skb_done(mdev, skb, &list);
  	mt76_tx_status_unlock(mdev, &list);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index ed64cf06..05917cc8 100644
+index cc0c5ac..73a04e9 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1769,32 +1769,24 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
+@@ -1768,32 +1768,24 @@ static void mt7996_sta_statistics(struct ieee80211_hw *hw,
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_link_sta *mlink;
@@ -221,7 +221,7 @@
  	sinfo->tx_failed = mlink->wcid.stats.tx_failed;
  	sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_FAILED);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index edbe9cbe..ee27b5df 100644
+index 675af8c..66f6d46 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -537,42 +537,164 @@ mt7996_mcu_ie_countdown(struct mt7996_dev *dev, struct sk_buff *skb)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0142-mtk-mt76-mt7996-add-link-information-when-dump-stati.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0142-mtk-mt76-mt7996-add-link-information-when-dump-stati.patch
index 9ce1f11..6dca178 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0142-mtk-mt76-mt7996-add-link-information-when-dump-stati.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0142-mtk-mt76-mt7996-add-link-information-when-dump-stati.patch
@@ -1,7 +1,7 @@
-From ff2647b012eddbe530dd4b900506911fa91c8329 Mon Sep 17 00:00:00 2001
+From f4bc56dac7cff717c1a6a510ecafea00a25c0c2c Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Tue, 11 Jun 2024 18:09:57 +0800
-Subject: [PATCH 142/223] mtk: mt76: mt7996: add link information when dump
+Subject: [PATCH 142/193] mtk: mt76: mt7996: add link information when dump
  station
 
 Report following per-link information to mac80211:
@@ -21,10 +21,10 @@
  1 file changed, 78 insertions(+)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 05917cc8..380a6ca0 100644
+index 73a04e9..ad35b65 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1817,6 +1817,83 @@ out:
+@@ -1816,6 +1816,83 @@ out:
  	mutex_unlock(&dev->mt76.mutex);
  }
  
@@ -108,7 +108,7 @@
  static void mt7996_sta_rc_work(void *data, struct ieee80211_sta *sta)
  {
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
-@@ -2936,6 +3013,7 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -2935,6 +3012,7 @@ const struct ieee80211_ops mt7996_ops = {
  	.set_bitrate_mask = mt7996_set_bitrate_mask,
  	.set_coverage_class = mt7996_set_coverage_class,
  	.sta_statistics = mt7996_sta_statistics,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0143-mtk-mt76-mt7996-add-per-link-RX-MPDU-statistics.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0143-mtk-mt76-mt7996-add-per-link-RX-MPDU-statistics.patch
index bb0bde1..2fd5579 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0143-mtk-mt76-mt7996-add-per-link-RX-MPDU-statistics.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0143-mtk-mt76-mt7996-add-per-link-RX-MPDU-statistics.patch
@@ -1,7 +1,7 @@
-From 9e31f71efd5909af8d8916285f0816914fd15bac Mon Sep 17 00:00:00 2001
+From b784e9ad2ee7187b065d10c87b20a127e59346eb Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Tue, 23 Jul 2024 16:37:57 +0800
-Subject: [PATCH 143/223] mtk: mt76: mt7996: add per-link RX MPDU statistics
+Subject: [PATCH 143/193] mtk: mt76: mt7996: add per-link RX MPDU statistics
 
 Add per-link RX MPDU total/failed counts.
 
@@ -16,7 +16,7 @@
  5 files changed, 22 insertions(+)
 
 diff --git a/mt76.h b/mt76.h
-index de6f2be0..ce34cccc 100644
+index de6f2be..ce34ccc 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -340,6 +340,8 @@ struct mt76_sta_stats {
@@ -29,7 +29,7 @@
  	u32 rx_drops;
  	u64 rx_airtime;
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 1971c7bf..931b29eb 100644
+index 1971c7b..931b29e 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1426,6 +1426,8 @@ enum UNI_ALL_STA_INFO_TAG {
@@ -42,7 +42,7 @@
  };
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 39336832..966cf314 100644
+index 3933683..966cf31 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2420,6 +2420,7 @@ void mt7996_mac_work(struct work_struct *work)
@@ -54,7 +54,7 @@
  				if (mt7996_mcu_wa_cmd(phy->dev, MCU_WA_PARAM_CMD(QUERY), MCU_WA_PARAM_BSS_ACQ_PKT_CNT,
  				                      BSS_ACQ_PKT_CNT_BSS_BITMAP_ALL | BSS_ACQ_PKT_CNT_READ_CLR, 0))
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index ee27b5df..4a99671f 100644
+index 66f6d46..8bd2718 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -808,6 +808,16 @@ mt7996_mcu_rx_all_sta_info_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -75,7 +75,7 @@
  			break;
  		}
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 389aab63..737f426d 100644
+index 389aab6..737f426 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -268,6 +268,13 @@ struct mt7996_mcu_all_sta_info_event {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0144-mtk-mt76-mt7996-support-link_id-for-mt7996_set_bitra.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0144-mtk-mt76-mt7996-support-link_id-for-mt7996_set_bitra.patch
index 4e9a59b..48da425 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0144-mtk-mt76-mt7996-support-link_id-for-mt7996_set_bitra.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0144-mtk-mt76-mt7996-support-link_id-for-mt7996_set_bitra.patch
@@ -1,7 +1,7 @@
-From cd89b66b8dac6cbb4569d61c7f23b06692410adf Mon Sep 17 00:00:00 2001
+From 0cd3a2d760fa93dac064a2d44770a1742d797dfb Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Fri, 7 Jun 2024 13:23:55 +0800
-Subject: [PATCH 144/223] mtk: mt76: mt7996: support link_id for
+Subject: [PATCH 144/193] mtk: mt76: mt7996: support link_id for
  mt7996_set_bitrate_mask
 
 Add support new argument link_id for set_bitrate_mask within
@@ -15,10 +15,10 @@
  2 files changed, 31 insertions(+), 8 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 380a6ca0..118c7d67 100644
+index ad35b65..5044e89 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1899,17 +1899,21 @@ static void mt7996_sta_rc_work(void *data, struct ieee80211_sta *sta)
+@@ -1898,17 +1898,21 @@ static void mt7996_sta_rc_work(void *data, struct ieee80211_sta *sta)
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_link_sta *mlink;
  	struct mt7996_dev *dev = msta->vif->dev;
@@ -43,7 +43,7 @@
  	rcu_read_unlock();
  }
  
-@@ -1921,6 +1925,10 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
+@@ -1920,6 +1924,10 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mt7996_dev *dev = phy->dev;
@@ -54,7 +54,7 @@
  
  	if (!msta->vif) {
  		dev_warn(dev->mt76.dev, "Un-initialized STA %pM wcid %d in rc_work\n",
-@@ -1928,22 +1936,32 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
+@@ -1927,22 +1935,32 @@ static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
  		return;
  	}
  
@@ -91,7 +91,7 @@
  	mconf->bitrate_mask = *mask;
  	mutex_unlock(&dev->mt76.mutex);
  
-@@ -1955,7 +1973,7 @@ mt7996_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1954,7 +1972,7 @@ mt7996_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	 * - multiple rates: if it's not in range format i.e 0-{7,8,9} for VHT
  	 * then multiple MCS setting (MCS 4,5,6) is not supported.
  	 */
@@ -101,7 +101,7 @@
  
  	return 0;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index d97df22f..ccea70af 100644
+index d97df22..ccea70a 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -445,6 +445,11 @@ struct mt7996_wed_rro_session_id {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0145-mtk-mt76-mt7996-add-per-radio-antenna-config.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0145-mtk-mt76-mt7996-add-per-radio-antenna-config.patch
index bee539b..e6b11af 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0145-mtk-mt76-mt7996-add-per-radio-antenna-config.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0145-mtk-mt76-mt7996-add-per-radio-antenna-config.patch
@@ -1,7 +1,7 @@
-From 31c98d0e5f309c927880c4781a4c9323b6d41981 Mon Sep 17 00:00:00 2001
+From 087fde967ac8a47068fbf7a704320af4ce1dc641 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Tue, 11 Jun 2024 17:04:22 +0800
-Subject: [PATCH 145/223] mtk: mt76: mt7996: add per-radio antenna config
+Subject: [PATCH 145/193] mtk: mt76: mt7996: add per-radio antenna config
 
 Add per-radio antenna config
 
@@ -18,7 +18,7 @@
  7 files changed, 47 insertions(+), 29 deletions(-)
 
 diff --git a/mac80211.c b/mac80211.c
-index f986d5fd..a555bec2 100644
+index f986d5f..a555bec 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -431,8 +431,8 @@ mt76_phy_init(struct mt76_phy *phy, struct ieee80211_hw *hw)
@@ -60,7 +60,7 @@
  	*rx_ant = phy->antenna_mask;
  	mutex_unlock(&dev->mutex);
 diff --git a/mt76.h b/mt76.h
-index ce34cccc..8e71c2ce 100644
+index ce34ccc..8e71c2c 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -877,6 +877,7 @@ struct mt76_phy {
@@ -81,7 +81,7 @@
  void mt76_insert_ccmp_hdr(struct sk_buff *skb, u8 key_id);
  int mt76_get_rate(struct mt76_dev *dev,
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index f9bd4d91..72a21fcf 100644
+index f9bd4d9..72a21fc 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -410,12 +410,15 @@ static int mt7996_eeprom_parse_band_config(struct mt7996_phy *phy)
@@ -101,10 +101,10 @@
  	default:
  		ret = -EINVAL;
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 420c23c9..18a86afe 100644
+index 311d7cc..419ecaf 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -392,8 +392,10 @@ static void
+@@ -389,8 +389,10 @@ static void
  mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  {
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
@@ -115,7 +115,7 @@
  	u16 max_subframes = phy->dev->has_eht ? IEEE80211_MAX_AMPDU_BUF_EHT :
  						IEEE80211_MAX_AMPDU_BUF_HE;
  
-@@ -455,25 +457,25 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -452,25 +454,25 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  
  	hw->max_tx_fragments = 4;
  
@@ -148,7 +148,7 @@
  			IEEE80211_HT_MPDU_DENSITY_1;
  
  		ieee80211_hw_set(hw, SUPPORTS_VHT_EXT_NSS_BW);
-@@ -481,17 +483,17 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -478,17 +480,17 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  
  	/* init led callbacks */
  	if (IS_ENABLED(CONFIG_MT76_LEDS)) {
@@ -172,10 +172,10 @@
  	wiphy->max_scan_ssids = 4;
  	wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN;
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 118c7d67..d73fd9d6 100644
+index 5044e89..678da02 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1705,14 +1705,11 @@ mt7996_set_coverage_class(struct ieee80211_hw *hw, s16 coverage_class)
+@@ -1704,14 +1704,11 @@ mt7996_set_coverage_class(struct ieee80211_hw *hw, s16 coverage_class)
  }
  
  static int
@@ -193,7 +193,7 @@
  
  	/* only allow settings from hw0 */
  	if (hw != dev->phy.mt76->hw)
-@@ -1726,14 +1723,14 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
+@@ -1725,14 +1722,14 @@ mt7996_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
  
  	mutex_lock(&dev->mt76.mutex);
  
@@ -212,7 +212,7 @@
  			continue;
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 4a99671f..28bccc15 100644
+index 8bd2718..3a356b9 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2435,6 +2435,7 @@ mt7996_mcu_sta_bfer_tlv(struct mt7996_dev *dev, struct sk_buff *skb,
@@ -233,7 +233,7 @@
  	bf->bw = link_sta->bandwidth;
  	bf->ibf_dbw = link_sta->bandwidth;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ccea70af..c20206c6 100644
+index ccea70a..c20206c 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1177,9 +1177,10 @@ void mt7996_memcpy_fromio(struct mt7996_dev *dev, void *buf, u32 offset,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0146-mtk-mt76-mt7996-rework-debug-prints.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0146-mtk-mt76-mt7996-rework-debug-prints.patch
index 28f11c6..521c0b6 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0146-mtk-mt76-mt7996-rework-debug-prints.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0146-mtk-mt76-mt7996-rework-debug-prints.patch
@@ -1,7 +1,7 @@
-From 28b5dc0783ecf0b3b173c76b9138f769ec6345f3 Mon Sep 17 00:00:00 2001
+From d84d275ceb0ff433f58c1bbfde93267225260e84 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 19 Jun 2024 12:04:46 +0800
-Subject: [PATCH 146/223] mtk: mt76: mt7996: rework debug prints
+Subject: [PATCH 146/193] mtk: mt76: mt7996: rework debug prints
 
 Trim debug messages, and move some of them (especially mcu cmd) into
 tracing log.
@@ -17,7 +17,7 @@
  5 files changed, 67 insertions(+), 49 deletions(-)
 
 diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
-index b62a1ac8..e4e6c0d3 100644
+index b62a1ac..e4e6c0d 100644
 --- a/mt76_connac_mcu.c
 +++ b/mt76_connac_mcu.c
 @@ -428,7 +428,6 @@ void mt76_connac_mcu_sta_basic_tlv(struct mt76_dev *dev, struct sk_buff *skb,
@@ -29,7 +29,7 @@
  }
  EXPORT_SYMBOL_GPL(mt76_connac_mcu_sta_basic_tlv);
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 966cf314..0a96b5de 100644
+index 966cf31..0a96b5d 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2942,9 +2942,6 @@ void mt7996_scan_work(struct work_struct *work)
@@ -43,7 +43,7 @@
  
  	if (!req->n_ssids ||
 diff --git a/mt7996/main.c b/mt7996/main.c
-index d73fd9d6..647e0e8a 100644
+index 678da02..543265a 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -297,6 +297,9 @@ static void mt7996_remove_bss_conf(struct ieee80211_vif *vif,
@@ -83,7 +83,7 @@
  
  	mutex_lock(&dev->mt76.mutex);
  
-@@ -1216,7 +1220,8 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
+@@ -1215,7 +1219,8 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
  		rcu_assign_pointer(dev->mt76.wcid[idx], &mlink->wcid);
  		mt76_wcid_init(&mlink->wcid);
  
@@ -93,7 +93,7 @@
  	}
  
  	if (!assoc)
-@@ -1255,7 +1260,7 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1254,7 +1259,7 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  	if (!ieee80211_vif_is_mld(vif) || rem == sta->valid_links)
  		cancel_delayed_work(&mvif->beacon_mon_work);
  
@@ -102,7 +102,7 @@
  	for_each_set_bit(link_id, &rem, IEEE80211_MLD_MAX_NUM_LINKS) {
  		struct mt7996_bss_conf *mconf =
  			mconf_dereference_protected(mvif, link_id);
-@@ -1282,7 +1287,7 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1281,7 +1286,7 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  	unsigned int link_id;
  	int i, ret;
  
@@ -111,7 +111,7 @@
  	for_each_set_bit(link_id, &add, IEEE80211_MLD_MAX_NUM_LINKS) {
  		struct mt7996_bss_conf *mconf =
  			mconf_dereference_protected(mvif, link_id);
-@@ -1291,6 +1296,9 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1290,6 +1295,9 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  		struct ieee80211_link_sta *link_sta =
  			link_sta_dereference_protected(sta, link_id);
  
@@ -121,7 +121,7 @@
  		ret = mt7996_add_link_sta(dev, conf, mconf, link_sta, assoc);
  		if (ret)
  			goto error;
-@@ -1461,13 +1469,13 @@ static void mt7996_tx(struct ieee80211_hw *hw,
+@@ -1460,13 +1468,13 @@ static void mt7996_tx(struct ieee80211_hw *hw,
  					rcu_dereference(sta->link[link_id]);
  
  				if (!link_sta) {
@@ -138,7 +138,7 @@
  						goto unlock;
  					}
  				}
-@@ -2499,6 +2507,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2498,6 +2506,7 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_bss_conf *mconf;
  	int ret;
  
@@ -146,7 +146,7 @@
  	mutex_lock(&phy->dev->mt76.mutex);
  	if (WARN_ON(phy->scan_req || phy->scan_chan)) {
  		mutex_unlock(&phy->dev->mt76.mutex);
-@@ -2628,7 +2637,7 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
+@@ -2627,7 +2636,7 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
  	struct mt7996_chanctx *ctx = mt7996_chanctx_get(conf);
  	int ret;
  
@@ -155,7 +155,7 @@
  	mutex_lock(&phy->dev->mt76.mutex);
  
  	if (ctx->assigned) {
-@@ -2667,7 +2676,7 @@ mt7996_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
+@@ -2666,7 +2675,7 @@ mt7996_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
  	struct mt7996_chanctx *ctx = mt7996_chanctx_get(conf);
  	struct mt7996_phy *phy = ctx->phy;
  
@@ -164,7 +164,7 @@
  	cancel_delayed_work_sync(&phy->scan_work);
  	cancel_delayed_work_sync(&phy->mt76->mac_work);
  
-@@ -2687,13 +2696,14 @@ mt7996_change_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
+@@ -2686,13 +2695,14 @@ mt7996_change_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
  	struct mt7996_chanctx *ctx = mt7996_chanctx_get(conf);
  	struct mt7996_phy *phy = ctx->phy;
  
@@ -180,7 +180,7 @@
  	}
  }
  
-@@ -2709,9 +2719,8 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2708,9 +2718,8 @@ mt7996_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	u8 link_id = link_conf->link_id;
  	int ret;
  
@@ -192,7 +192,7 @@
  
  	mutex_lock(&phy->dev->mt76.mutex);
  
-@@ -2751,9 +2760,8 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2750,9 +2759,8 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_chanctx *ctx = mt7996_chanctx_get(conf);
  	struct mt7996_phy *phy = ctx->phy;
  
@@ -204,7 +204,7 @@
  	cancel_delayed_work_sync(&phy->scan_work);
  
  	mutex_lock(&phy->dev->mt76.mutex);
-@@ -2782,9 +2790,15 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
+@@ -2781,9 +2789,15 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
  		if (vifs[i].old_ctx == vifs[i].new_ctx)
  			continue;
  
@@ -223,7 +223,7 @@
  
  		mutex_lock(&dev->mt76.mutex);
  
-@@ -2834,7 +2848,7 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2833,7 +2847,7 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	unsigned int link_id;
  	int ret = 0;
  
@@ -232,7 +232,7 @@
  	if (old_links == new_links)
  		return 0;
  
-@@ -2880,7 +2894,7 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2879,7 +2893,7 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	unsigned long rem = old_links & ~new_links;
  	int ret = 0;
  
@@ -242,7 +242,7 @@
  
  	if (rem)
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 28bccc15..6149f227 100644
+index 3a356b9..5461fb1 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -387,7 +387,6 @@ mt7996_mcu_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
@@ -351,7 +351,7 @@
  	return mt76_mcu_skb_send_msg(&dev->mt76, skb,
  			MCU_WMWA_UNI_CMD(STA_REC_UPDATE), true);
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index c20206c6..d56d9715 100644
+index c20206c..d56d971 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -986,7 +986,15 @@ mt7996_get_link_wcid(struct mt7996_dev *dev, u16 idx, u8 band_idx)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0147-mtk-mt76-mt7996-support-configure-trigger-frame-type.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0147-mtk-mt76-mt7996-support-configure-trigger-frame-type.patch
index c77006d..e3c7e49 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0147-mtk-mt76-mt7996-support-configure-trigger-frame-type.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0147-mtk-mt76-mt7996-support-configure-trigger-frame-type.patch
@@ -1,7 +1,7 @@
-From 4ea48c70592eb0d0907dddfeffc11686e42328d0 Mon Sep 17 00:00:00 2001
+From 50c88ad55b51d1a0edf4b3f1ab9cb07b5f6840af Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Tue, 7 May 2024 10:00:09 +0800
-Subject: [PATCH 147/223] mtk: mt76: mt7996: support configure trigger frame
+Subject: [PATCH 147/193] mtk: mt76: mt7996: support configure trigger frame
  type
 
 Support receiving an nl80211 subcmd
@@ -23,7 +23,7 @@
  4 files changed, 11 insertions(+)
 
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 82e3f721..74f185c2 100644
+index 82e3f72..74f185c 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -1041,6 +1041,7 @@ error:
@@ -35,7 +35,7 @@
  int mt7996_mcu_set_muru_cmd(struct mt7996_dev *dev, u16 action, int val)
  {
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 2cffc893..8ba261a7 100644
+index 2cffc89..8ba261a 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -133,6 +133,7 @@ enum {
@@ -47,7 +47,7 @@
  
  struct bf_pfmu_tag {
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 585c4e28..54eb2686 100644
+index 585c4e2..54eb268 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -107,6 +107,7 @@ rfeature_ctrl_policy[NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL] = {
@@ -73,7 +73,7 @@
  
  	return 0;
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index f6fcb623..bd9579d5 100644
+index f6fcb62..bd9579d 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -93,6 +93,7 @@ enum mtk_vendor_attr_rfeature_ctrl {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0148-mtk-mt76-mt7996-support-configure-coding-type-for-wi.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0148-mtk-mt76-mt7996-support-configure-coding-type-for-wi.patch
index 0833a39..ff12c4d 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0148-mtk-mt76-mt7996-support-configure-coding-type-for-wi.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0148-mtk-mt76-mt7996-support-configure-coding-type-for-wi.patch
@@ -1,7 +1,7 @@
-From 5838cde9b267f8792119865a8224308b569899b0 Mon Sep 17 00:00:00 2001
+From 047b65f53b65de80ad00d23bb3af4e852d580e0e Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Fri, 7 Jun 2024 13:24:04 +0800
-Subject: [PATCH 148/223] mtk: mt76: mt7996: support configure coding type for
+Subject: [PATCH 148/193] mtk: mt76: mt7996: support configure coding type for
  wifi7 r1 cert
 
 This commit includes two changes for WiFi7 cert fix rate test cases.
@@ -31,7 +31,7 @@
  7 files changed, 82 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 0a96b5de..19484081 100644
+index 0a96b5d..1948408 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2385,6 +2385,16 @@ void mt7996_mac_sta_rc_work(struct work_struct *work)
@@ -52,7 +52,7 @@
  		spin_lock_bh(&dev->mt76.sta_poll_lock);
  	}
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 6149f227..94746005 100644
+index 5461fb1..d8001de 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2664,6 +2664,7 @@ int mt7996_mcu_set_fixed_field(struct mt7996_dev *dev,
@@ -77,7 +77,7 @@
  	 * once dev->rc_work changes the settings driver should also
  	 * update sta_rec_he here.
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 737f426d..9b29dc29 100644
+index 737f426..9b29dc2 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -909,6 +909,7 @@ enum {
@@ -89,7 +89,7 @@
  #ifdef CONFIG_MTK_VENDOR
  	RATE_PARAM_FIXED_MIMO = 30,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index d56d9715..0b3df44a 100644
+index d56d971..0b3df44 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -517,6 +517,8 @@ struct csi_data {
@@ -112,7 +112,7 @@
  
  #if defined CONFIG_NL80211_TESTMODE || defined CONFIG_MTK_DEBUG
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 74f185c2..7cf4b2be 100644
+index 74f185c..7cf4b2b 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -1372,3 +1372,44 @@ int mt7996_mcu_mlo_agc(struct mt7996_dev *dev, const void *data, int len)
@@ -161,7 +161,7 @@
 +}
 +#endif
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 54eb2686..e929f812 100644
+index 54eb268..e929f81 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -108,6 +108,8 @@ rfeature_ctrl_policy[NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL] = {
@@ -221,7 +221,7 @@
  	} else if (tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU]) {
  		val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU]);
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index bd9579d5..5608a3b4 100644
+index bd9579d..5608a3b 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -94,6 +94,8 @@ enum mtk_vendor_attr_rfeature_ctrl {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0149-mtk-mt76-mt7996-record-RSSI-and-SNR.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0149-mtk-mt76-mt7996-record-RSSI-and-SNR.patch
index 21983e5..7659869 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0149-mtk-mt76-mt7996-record-RSSI-and-SNR.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0149-mtk-mt76-mt7996-record-RSSI-and-SNR.patch
@@ -1,7 +1,7 @@
-From bd67084cff9aa21fe1b714ebcfe771aad0286e11 Mon Sep 17 00:00:00 2001
+From bb4be1811310546534aa2767ef5aaed73322507c Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Thu, 13 Jun 2024 17:27:03 +0800
-Subject: [PATCH 149/223] mtk: mt76: mt7996: record RSSI and SNR
+Subject: [PATCH 149/193] mtk: mt76: mt7996: record RSSI and SNR
 
 RSSI and SNR information were incomplete.
 - RSSI: per-antenna ACK-frame RSSI was not reported.
@@ -18,7 +18,7 @@
  4 files changed, 70 insertions(+), 32 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 19484081..c341a553 100644
+index 1948408..c341a55 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -493,6 +493,13 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
@@ -45,7 +45,7 @@
  					mt7996_mcu_get_all_sta_info(mdev, UNI_ALL_STA_TXRX_ADM_STAT);
  					mt7996_mcu_get_all_sta_info(mdev, UNI_ALL_STA_TXRX_MSDU_COUNT);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 94746005..db975daa 100644
+index d8001de..f35a83b 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5817,14 +5817,15 @@ int mt7996_mcu_set_rro(struct mt7996_dev *dev, u16 tag, u16 val)
@@ -176,7 +176,7 @@
  
  	return ret;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 9b29dc29..20eaf20d 100644
+index 9b29dc2..20eaf20 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -202,7 +202,13 @@ struct mt7996_mcu_mib {
@@ -203,7 +203,7 @@
  } __packed;
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 0b3df44a..ee43c9e0 100644
+index 0b3df44..ee43c9e 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -318,9 +318,15 @@ struct mt7996_link_sta {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0150-mtk-mt76-mt7996-support-find-the-mt7996_phy-by-link_.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0150-mtk-mt76-mt7996-support-find-the-mt7996_phy-by-link_.patch
index 1045b99..3db6139 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0150-mtk-mt76-mt7996-support-find-the-mt7996_phy-by-link_.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0150-mtk-mt76-mt7996-support-find-the-mt7996_phy-by-link_.patch
@@ -1,7 +1,7 @@
-From 5538043f91de86efa859432e4473f020bdcd23c3 Mon Sep 17 00:00:00 2001
+From 8f63a61593cf03073c4c4b499a8ddcdc8e14d81f Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Thu, 20 Jun 2024 10:55:07 +0800
-Subject: [PATCH 150/223] mtk: mt76: mt7996: support find the mt7996_phy by
+Subject: [PATCH 150/193] mtk: mt76: mt7996: support find the mt7996_phy by
  link_id for vendor command
 
 Add support to find the corresponding phy by link_id. This commit is for
@@ -22,7 +22,7 @@
  4 files changed, 30 insertions(+), 18 deletions(-)
 
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index ee43c9e0..b0d9b0bd 100644
+index ee43c9e..b0d9b0b 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1330,11 +1330,12 @@ int mt7996_mcu_set_txbf_internal(struct mt7996_phy *phy, u8 action, int idx, boo
@@ -41,7 +41,7 @@
  void mt7996_mcu_set_nusers_ofdma(struct mt7996_phy *phy, u8 type, u8 ofdma_user_cnt);
  void mt7996_mcu_set_cert(struct mt7996_phy *phy, u8 type);
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 9d8c1942..f13f09e1 100644
+index 9d8c194..f13f09e 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2928,7 +2928,7 @@ mt7996_bf_txsnd_info_set(struct file *file,
@@ -54,7 +54,7 @@
  	if (ret) return -EFAULT;
  
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 7cf4b2be..c87daf8e 100644
+index 7cf4b2b..c87daf8 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -352,7 +352,7 @@ int mt7996_mcu_set_txbf_internal(struct mt7996_phy *phy, u8 action, int idx, boo
@@ -134,7 +134,7 @@
  		return 0;
  	}
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index e929f812..ed7c1322 100644
+index e929f81..ed7c132 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -866,12 +866,13 @@ static int mt7996_vendor_rfeature_ctrl(struct wiphy *wiphy,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0151-mtk-mt76-mt7996-workaround-for-get_tsf-crash-issue.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0151-mtk-mt76-mt7996-workaround-for-get_tsf-crash-issue.patch
index 0b8ea2c..d79cbd9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0151-mtk-mt76-mt7996-workaround-for-get_tsf-crash-issue.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0151-mtk-mt76-mt7996-workaround-for-get_tsf-crash-issue.patch
@@ -1,17 +1,17 @@
-From 2f3676a2b60827dfd02540af2e0325e50161ff6a Mon Sep 17 00:00:00 2001
+From 9cdb7730bd64ebe78d2ec9c284637c4e50468252 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Mon, 24 Jun 2024 11:09:50 +0800
-Subject: [PATCH 151/223] mtk: mt76: mt7996: workaround for get_tsf crash issue
+Subject: [PATCH 151/193] mtk: mt76: mt7996: workaround for get_tsf crash issue
 
 ---
  mt7996/main.c | 15 ++++++++++++---
  1 file changed, 12 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 647e0e8a..455beb74 100644
+index 543265a..e0bee15 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1634,11 +1634,20 @@ mt7996_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -1633,11 +1633,20 @@ mt7996_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_bss_conf *mconf;
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0152-mtk-mt76-add-debugfs-for-tx-drop-counters.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0152-mtk-mt76-add-debugfs-for-tx-drop-counters.patch
index b753114..1660fd9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0152-mtk-mt76-add-debugfs-for-tx-drop-counters.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0152-mtk-mt76-add-debugfs-for-tx-drop-counters.patch
@@ -1,7 +1,7 @@
-From e126a0d9cd5d6a25caf5db58a5cc5edb6b22cc16 Mon Sep 17 00:00:00 2001
+From 97eb75e0679624054787ccd62655c3b542aab616 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Thu, 13 Jun 2024 17:47:13 +0800
-Subject: [PATCH 152/223] mtk: mt76: add debugfs for tx drop counters
+Subject: [PATCH 152/193] mtk: mt76: add debugfs for tx drop counters
 
 Change-Id: I1d375169cca29fb58544edfbd235ef3e058a130a
 Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
@@ -16,7 +16,7 @@
  7 files changed, 161 insertions(+), 12 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index 3f1fb6c2..0dae40e2 100644
+index 3f1fb6c..0dae40e 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -612,12 +612,16 @@ mt76_dma_tx_queue_skb(struct mt76_phy *phy, struct mt76_queue *q,
@@ -87,7 +87,7 @@
  				tx_info.info, tx_info.skb, t);
  
 diff --git a/mac80211.c b/mac80211.c
-index a555bec2..93ff77be 100644
+index a555bec..93ff77b 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -417,6 +417,7 @@ mt76_phy_init(struct mt76_phy *phy, struct ieee80211_hw *hw)
@@ -107,7 +107,7 @@
  	init_waitqueue_head(&dev->tx_wait);
  
 diff --git a/mt76.h b/mt76.h
-index 8e71c2ce..8e78ba86 100644
+index 8e71c2c..8e78ba8 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -849,6 +849,31 @@ struct mt76_vif {
@@ -159,7 +159,7 @@
  
  #define MT76_MAX_AMSDU_NUM 8
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index c341a553..a78ebefc 100644
+index c341a55..a78ebef 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -909,11 +909,15 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
@@ -215,10 +215,10 @@
  		dma_sync_single_for_cpu(mdev->dma_dev, tx_info->buf[1].addr,
  					tx_info->buf[1].len, DMA_TO_DEVICE);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 455beb74..8fb68880 100644
+index e0bee15..499290d 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1427,11 +1427,13 @@ static void mt7996_tx(struct ieee80211_hw *hw,
+@@ -1426,11 +1426,13 @@ static void mt7996_tx(struct ieee80211_hw *hw,
  		      struct sk_buff *skb)
  {
  	struct mt76_phy *mphy;
@@ -232,7 +232,7 @@
  
  	if (control->sta) {
  		msta = (struct mt7996_sta *)control->sta->drv_priv;
-@@ -1503,14 +1505,18 @@ static void mt7996_tx(struct ieee80211_hw *hw,
+@@ -1502,14 +1504,18 @@ static void mt7996_tx(struct ieee80211_hw *hw,
  		mphy = mconf->phy->mt76;
  		wcid = &mlink->wcid;
  	} else {
@@ -254,7 +254,7 @@
  }
  
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index f13f09e1..d15d403b 100644
+index f13f09e..d15d403 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -4162,6 +4162,83 @@ out:
@@ -352,7 +352,7 @@
  
  #endif
 diff --git a/tx.c b/tx.c
-index 95c84dab..c9fda966 100644
+index 7906023..e7aba9f 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -335,8 +335,14 @@ mt76_tx(struct mt76_phy *phy, struct ieee80211_sta *sta,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0153-mtk-mt76-add-debugfs-for-rx-drop-counters.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0153-mtk-mt76-add-debugfs-for-rx-drop-counters.patch
index a78ee58..f77a28c 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0153-mtk-mt76-add-debugfs-for-rx-drop-counters.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0153-mtk-mt76-add-debugfs-for-rx-drop-counters.patch
@@ -1,7 +1,7 @@
-From b230d11d8c61d395043c5463a780f7bcabfc7196 Mon Sep 17 00:00:00 2001
+From 7726ef490ef3be1d0d0db033116a0edb931a95f6 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Thu, 23 May 2024 02:33:47 +0800
-Subject: [PATCH 153/223] mtk: mt76: add debugfs for rx drop counters
+Subject: [PATCH 153/193] mtk: mt76: add debugfs for rx drop counters
 
 Change-Id: I23c494a80095c680cfe7765b5898fb044a4b73da
 Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
@@ -16,7 +16,7 @@
  7 files changed, 193 insertions(+), 16 deletions(-)
 
 diff --git a/agg-rx.c b/agg-rx.c
-index b48943c4..9875baa8 100644
+index b48943c..9875baa 100644
 --- a/agg-rx.c
 +++ b/agg-rx.c
 @@ -152,6 +152,7 @@ void mt76_rx_aggr_reorder(struct sk_buff *skb, struct sk_buff_head *frames)
@@ -57,7 +57,7 @@
  	}
  
 diff --git a/dma.c b/dma.c
-index 0dae40e2..81e76191 100644
+index 0dae40e..81e7619 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -251,13 +251,16 @@ mt76_dma_add_rx_buf(struct mt76_dev *dev, struct mt76_queue *q,
@@ -194,7 +194,7 @@
  		skb_reserve(skb, q->buf_offset);
  
 diff --git a/dma.h b/dma.h
-index 3a8c2e55..718122d5 100644
+index 3a8c2e5..718122d 100644
 --- a/dma.h
 +++ b/dma.h
 @@ -93,27 +93,29 @@ mt76_dma_reset_tx_queue(struct mt76_dev *dev, struct mt76_queue *q)
@@ -234,7 +234,7 @@
  
  #endif
 diff --git a/mac80211.c b/mac80211.c
-index 93ff77be..6190822c 100644
+index 93ff77b..6190822 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -418,6 +418,7 @@ mt76_phy_init(struct mt76_phy *phy, struct ieee80211_hw *hw)
@@ -288,7 +288,7 @@
  
  static void
 diff --git a/mt76.h b/mt76.h
-index 8e78ba86..62ae2662 100644
+index 8e78ba8..62ae266 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -188,6 +188,34 @@ enum mt76_dfs_state {
@@ -359,7 +359,7 @@
  
  struct mt76_dev {
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index a78ebefc..ee505a55 100644
+index a78ebef..ee505a5 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1422,9 +1422,11 @@ void mt7996_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
@@ -399,7 +399,7 @@
  		break;
  	}
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index d15d403b..422518f5 100644
+index d15d403..422518f 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -4239,6 +4239,84 @@ out:
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0154-mtk-mt76-mt7996-add-support-for-remain-on-channel-op.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0154-mtk-mt76-mt7996-add-support-for-remain-on-channel-op.patch
index f68f239..aad6471 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0154-mtk-mt76-mt7996-add-support-for-remain-on-channel-op.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0154-mtk-mt76-mt7996-add-support-for-remain-on-channel-op.patch
@@ -1,7 +1,7 @@
-From 78e6f75e8e5114ed78257bf708655084fe36dcd1 Mon Sep 17 00:00:00 2001
+From 70ae2ca209ec46ca04ec532df7ade623bfd82a0b Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Fri, 7 Jun 2024 15:24:00 +0800
-Subject: [PATCH 154/223] mtk: mt76: mt7996: add support for remain-on-channel
+Subject: [PATCH 154/193] mtk: mt76: mt7996: add support for remain-on-channel
  operation
 
 Remain-on-channel operation allows interface to temporarily leave the
@@ -26,10 +26,10 @@
  3 files changed, 181 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 18a86afe..fe2958f5 100644
+index 419ecaf..6cd40db 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -498,6 +498,8 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -495,6 +495,8 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	wiphy->max_scan_ssids = 4;
  	wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN;
  
@@ -38,7 +38,7 @@
  	/* enable MLO support */
  	wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
  	wiphy->iftype_ext_capab = mt7996_iftypes_ext_capa;
-@@ -740,6 +742,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
+@@ -737,6 +739,7 @@ static int mt7996_register_phy(struct mt7996_dev *dev, struct mt7996_phy *phy,
  
  	INIT_DELAYED_WORK(&mphy->mac_work, mt7996_mac_work);
  	INIT_DELAYED_WORK(&phy->scan_work, mt7996_scan_work);
@@ -46,7 +46,7 @@
  
  	ret = mt7996_eeprom_parse_hw_cap(dev, phy);
  	if (ret)
-@@ -1696,6 +1699,7 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1693,6 +1696,7 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	INIT_WORK(&dev->rc_work, mt7996_mac_sta_rc_work);
  	INIT_DELAYED_WORK(&dev->mphy.mac_work, mt7996_mac_work);
  	INIT_DELAYED_WORK(&dev->phy.scan_work, mt7996_scan_work);
@@ -55,7 +55,7 @@
  	INIT_LIST_HEAD(&dev->sta_rc_list);
  	INIT_LIST_HEAD(&dev->twt_list);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 8fb68880..ff4ef55d 100644
+index 499290d..9cdbc5b 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -505,6 +505,7 @@ static void mt7996_remove_interface(struct ieee80211_hw *hw,
@@ -75,7 +75,7 @@
  	int timeout = HZ / 5;
  	unsigned long was_scanning = ieee80211_get_scanning(mphy->hw);
  
-@@ -2524,7 +2525,8 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2523,7 +2524,8 @@ mt7996_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  
  	mt76_vif_dbg(vif, "trigger scan on mt76 band %u\n", phy->mt76->band_idx);
  	mutex_lock(&phy->dev->mt76.mutex);
@@ -85,7 +85,7 @@
  		mutex_unlock(&phy->dev->mt76.mutex);
  		return -EBUSY;
  	}
-@@ -2645,6 +2647,170 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
+@@ -2644,6 +2646,170 @@ mt7996_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
  	}
  }
  
@@ -256,7 +256,7 @@
  static int
  mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
  {
-@@ -2693,6 +2859,7 @@ mt7996_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
+@@ -2692,6 +2858,7 @@ mt7996_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *co
  
  	mt76_dbg(hw, "remove %u\n", conf->def.chan->hw_value);
  	cancel_delayed_work_sync(&phy->scan_work);
@@ -264,7 +264,7 @@
  	cancel_delayed_work_sync(&phy->mt76->mac_work);
  
  	mutex_lock(&phy->dev->mt76.mutex);
-@@ -2778,6 +2945,7 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -2777,6 +2944,7 @@ mt7996_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	mt76_vif_dbg(vif, "remove link %u from %d MHz\n",
  		     link_conf->link_id, conf->def.chan->center_freq);
  	cancel_delayed_work_sync(&phy->scan_work);
@@ -272,7 +272,7 @@
  
  	mutex_lock(&phy->dev->mt76.mutex);
  
-@@ -3040,6 +3208,8 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -3039,6 +3207,8 @@ const struct ieee80211_ops mt7996_ops = {
  	.wake_tx_queue = mt76_wake_tx_queue,
  	.hw_scan = mt7996_hw_scan,
  	.cancel_hw_scan = mt7996_cancel_hw_scan,
@@ -282,7 +282,7 @@
  	.get_txpower = mt7996_get_txpower,
  	.channel_switch_beacon = mt7996_channel_switch_beacon,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index b0d9b0bd..251a3c70 100644
+index b0d9b0b..251a3c7 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -598,6 +598,10 @@ struct mt7996_phy {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0155-mtk-mt76-mt7996-rework-the-setting-flow-of-starec-RA.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0155-mtk-mt76-mt7996-rework-the-setting-flow-of-starec-RA.patch
index 4cb45ec..ddd5868 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0155-mtk-mt76-mt7996-rework-the-setting-flow-of-starec-RA.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0155-mtk-mt76-mt7996-rework-the-setting-flow-of-starec-RA.patch
@@ -1,7 +1,7 @@
-From 6d567ce5c36ea5a0c26cb2b55063bbc383adbca7 Mon Sep 17 00:00:00 2001
+From df6c9f2a21127d2e95d8c618362b255ee5d660e4 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Wed, 26 Jun 2024 19:09:46 +0800
-Subject: [PATCH 155/223] mtk: mt76: mt7996: rework the setting flow of starec
+Subject: [PATCH 155/193] mtk: mt76: mt7996: rework the setting flow of starec
  RA and MLD tags
 
 1. STA_REC_RA and STA_REC_MLD tags need to be set when newly is true,
@@ -20,10 +20,10 @@
  4 files changed, 83 insertions(+), 113 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index ff4ef55d..103902b7 100644
+index 9cdbc5b..e09798c 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1318,10 +1318,6 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1317,10 +1317,6 @@ mt7996_mac_sta_add_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  		mtxq->wcid = mlink->wcid.idx;
  	}
  
@@ -35,7 +35,7 @@
  error:
  	mt7996_mac_sta_remove_links(dev, vif, sta, add);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index db975daa..bad8e030 100644
+index f35a83b..534a362 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2916,6 +2916,77 @@ int mt7996_mcu_add_rate_ctrl(struct mt7996_dev *dev,
@@ -261,7 +261,7 @@
  				struct mt7996_bss_conf *mconf,
  				struct mt7996_link_sta *mlink)
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 20eaf20d..05b29c90 100644
+index 20eaf20..05b29c9 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -983,6 +983,9 @@ enum {
@@ -275,7 +275,7 @@
  
  #define MT7996_MAX_BEACON_SIZE		1338
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 251a3c70..edd9c7c9 100644
+index 251a3c7..edd9c7c 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1087,8 +1087,6 @@ int mt7996_mcu_add_rate_ctrl(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0156-mtk-mt76-mt7996-Fix-NULL-pointer-crash-when-mac-tx-f.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0156-mtk-mt76-mt7996-Fix-NULL-pointer-crash-when-mac-tx-f.patch
index 36029cf..b79c007 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0156-mtk-mt76-mt7996-Fix-NULL-pointer-crash-when-mac-tx-f.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0156-mtk-mt76-mt7996-Fix-NULL-pointer-crash-when-mac-tx-f.patch
@@ -1,7 +1,7 @@
-From 59aecb430cc995720c5fa10353fb68372952f0df Mon Sep 17 00:00:00 2001
+From e509c27732a53efc496081261df1c80b22a02b45 Mon Sep 17 00:00:00 2001
 From: Bo Jiao <Bo.Jiao@mediatek.com>
 Date: Thu, 27 Jun 2024 14:54:38 +0800
-Subject: [PATCH 156/223] mtk: mt76: mt7996: Fix NULL pointer crash when mac tx
+Subject: [PATCH 156/193] mtk: mt76: mt7996: Fix NULL pointer crash when mac tx
  free with a msta that has been removed.
 
 Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
@@ -10,7 +10,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index ee505a55..3cd034cd 100644
+index ee505a5..3cd034c 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1212,7 +1212,7 @@ mt7996_mac_tx_free(struct mt7996_dev *dev, void *data, int len)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0157-mtk-mt76-mt7996-update-adie-efuse-merge-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0157-mtk-mt76-mt7996-update-adie-efuse-merge-support.patch
index 40f9db6..47cf420 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0157-mtk-mt76-mt7996-update-adie-efuse-merge-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0157-mtk-mt76-mt7996-update-adie-efuse-merge-support.patch
@@ -1,7 +1,7 @@
-From b930141330014c5e7402fe75bd05e2f2a9705a81 Mon Sep 17 00:00:00 2001
+From 7f862ec237b850ed6b0e1683f46fd3b30368880d Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Fri, 14 Jun 2024 10:14:31 +0800
-Subject: [PATCH 157/223] mtk: mt76: mt7996: update adie efuse merge support
+Subject: [PATCH 157/193] mtk: mt76: mt7996: update adie efuse merge support
 
 Refactor efuse merge due to FW supporting the efuse merge mcu command
 
@@ -14,7 +14,7 @@
  3 files changed, 153 insertions(+), 147 deletions(-)
 
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 72a21fcf..327a36b2 100644
+index 72a21fc..327a36b 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -564,146 +564,6 @@ fail:
@@ -176,7 +176,7 @@
  	if (ret < 0)
  		return ret;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index bad8e030..9194886b 100644
+index 534a362..27dfe29 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -4603,6 +4603,150 @@ int mt7996_mcu_set_chan_info(struct mt7996_phy *phy, u16 tag, bool sta)
@@ -352,7 +352,7 @@
  
  int mt7996_mcu_get_eeprom(struct mt7996_dev *dev, u32 offset, u8 *buf, u32 buf_len)
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 05b29c90..d99e9a60 100644
+index 05b29c9..d99e9a6 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1038,6 +1038,7 @@ enum {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0158-mtk-mt76-mt7996-support-handle-link_id-in-ap_wireles.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0158-mtk-mt76-mt7996-support-handle-link_id-in-ap_wireles.patch
index 27a87a7..def4ba3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0158-mtk-mt76-mt7996-support-handle-link_id-in-ap_wireles.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0158-mtk-mt76-mt7996-support-handle-link_id-in-ap_wireles.patch
@@ -1,7 +1,7 @@
-From e2ca291d9edba04731cbec32d52ad00c13e5d1c9 Mon Sep 17 00:00:00 2001
+From 188ada444810cba695c6c54087de0266a2d9f36f Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Fri, 14 Jun 2024 14:54:44 +0800
-Subject: [PATCH 158/223] mtk: mt76: mt7996: support handle link_id in
+Subject: [PATCH 158/193] mtk: mt76: mt7996: support handle link_id in
  ap_wireless vendor cmd
 
 Add support handle link_id in ap_wireless vendor command. The link_id is
@@ -21,7 +21,7 @@
  4 files changed, 73 insertions(+), 44 deletions(-)
 
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index edd9c7c9..c122989d 100644
+index edd9c7c..c122989 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1304,8 +1304,8 @@ int mt7996_vendor_amnt_sta_remove(struct mt7996_phy *phy,
@@ -53,7 +53,7 @@
  
  int mt7996_mcu_set_vow_drr_dbg(struct mt7996_dev *dev, u32 val);
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index c87daf8e..8bacf29d 100644
+index c87daf8..8bacf29 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -1082,11 +1082,10 @@ int mt7996_mcu_muru_set_prot_frame_thr(struct mt7996_dev *dev, u32 val)
@@ -201,7 +201,7 @@
  
  	mt76_mcu_send_msg(&dev->mt76, MCU_WM_UNI_CMD(WSYS_CONFIG), &req,
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index ed7c1322..33c682c0 100644
+index ed7c132..33c682c 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -31,6 +31,7 @@ wireless_ctrl_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL] = {
@@ -300,7 +300,7 @@
  		val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU]);
  		mt7996_set_wireless_amsdu(hw, val8);
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 5608a3b4..714f0b3e 100644
+index 5608a3b..714f0b3 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -78,11 +78,6 @@ enum mtk_vendor_attr_mu_ctrl {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0159-mtk-mt76-mt7996-fix-incorrect-indexing-of-MIB-FW-eve.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0159-mtk-mt76-mt7996-fix-incorrect-indexing-of-MIB-FW-eve.patch
index 9941a17..fe64723 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0159-mtk-mt76-mt7996-fix-incorrect-indexing-of-MIB-FW-eve.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0159-mtk-mt76-mt7996-fix-incorrect-indexing-of-MIB-FW-eve.patch
@@ -1,7 +1,7 @@
-From 2986830e53280e7c49ef3893108a631d19d88023 Mon Sep 17 00:00:00 2001
+From 5c5dd2412f1ec0b8de95adc549ae1e39748f23f8 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Fri, 28 Jun 2024 18:03:41 +0800
-Subject: [PATCH 159/223] mtk: mt76: mt7996: fix incorrect indexing of MIB FW
+Subject: [PATCH 159/193] mtk: mt76: mt7996: fix incorrect indexing of MIB FW
  event
 
 When porting channel state reporting from Wi-Fi 6 to Wi-Fi 7 codebase, indexing of FW event of MIB data was not properly handled.
@@ -13,7 +13,7 @@
  1 file changed, 29 insertions(+), 16 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 9194886b..723a7ad9 100644
+index 27dfe29..cef0882 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5116,6 +5116,13 @@ int mt7996_mcu_get_chip_config(struct mt7996_dev *dev, u32 *cap)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0160-mtk-mt76-mt7996-support-muru-dbg-info-debug-commands.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0160-mtk-mt76-mt7996-support-muru-dbg-info-debug-commands.patch
index 1f278bd..1587427 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0160-mtk-mt76-mt7996-support-muru-dbg-info-debug-commands.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0160-mtk-mt76-mt7996-support-muru-dbg-info-debug-commands.patch
@@ -1,7 +1,7 @@
-From ef4a19e3bb7aebd2ceb745cefc45fd7000db2014 Mon Sep 17 00:00:00 2001
+From bc5844e85a6195f384fef07a8fda185d851c4ffd Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Mon, 3 Jun 2024 15:18:05 +0800
-Subject: [PATCH 160/223] mtk: mt76: mt7996: support muru dbg info debug
+Subject: [PATCH 160/193] mtk: mt76: mt7996: support muru dbg info debug
  commands
 
 Support enable muru debug functionality by debugfs.
@@ -17,7 +17,7 @@
  1 file changed, 44 insertions(+)
 
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 422518f5..02a6ee81 100644
+index 422518f..02a6ee8 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -4325,6 +4325,48 @@ mt7996_drr_info(struct seq_file *s, void *data)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0161-mtk-mt76-mt7996-add-kite-if_comb.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0161-mtk-mt76-mt7996-add-kite-if_comb.patch
index d4a1f0d..2197dc7 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0161-mtk-mt76-mt7996-add-kite-if_comb.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0161-mtk-mt76-mt7996-add-kite-if_comb.patch
@@ -1,7 +1,7 @@
-From fe7a769deaeb995f9657dc160ec670192464e8e4 Mon Sep 17 00:00:00 2001
+From 20644fe73018c3a1e1d73b22472ab4238f7d7aaa Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Wed, 3 Jul 2024 10:34:39 +0800
-Subject: [PATCH 161/223] mtk: mt76: mt7996: add kite if_comb
+Subject: [PATCH 161/193] mtk: mt76: mt7996: add kite if_comb
 
 Add Kite (dual band) if_comb
 
@@ -11,10 +11,10 @@
  1 file changed, 30 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index fe2958f5..18847ff5 100644
+index 6cd40db..53781d4 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -46,6 +46,22 @@ static const struct ieee80211_iface_combination if_comb[] = {
+@@ -43,6 +43,22 @@ static const struct ieee80211_iface_combination if_comb[] = {
  	}
  };
  
@@ -37,7 +37,7 @@
  static const u8 mt7996_if_types_ext_capa[] = {
  	[0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
  	[2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT,
-@@ -417,11 +433,22 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
+@@ -414,11 +430,22 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
  	hw->vif_data_size = sizeof(struct mt7996_vif);
  	hw->chanctx_data_size = sizeof(struct mt7996_chanctx);
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0162-mtk-mt76-mt7996-change-source-of-per-WCID-TX-MPDU-st.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0162-mtk-mt76-mt7996-change-source-of-per-WCID-TX-MPDU-st.patch
index 33c0bc7..281cae6 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0162-mtk-mt76-mt7996-change-source-of-per-WCID-TX-MPDU-st.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0162-mtk-mt76-mt7996-change-source-of-per-WCID-TX-MPDU-st.patch
@@ -1,7 +1,7 @@
-From ce85a854c7b07de8cb560417a038a2c9870c61e5 Mon Sep 17 00:00:00 2001
+From 31d291dbd8415f4e31b083493f78bdbf6f1230e7 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Mon, 17 Jun 2024 17:16:19 +0800
-Subject: [PATCH 162/223] mtk: mt76: mt7996: change source of per-WCID TX MPDU
+Subject: [PATCH 162/193] mtk: mt76: mt7996: change source of per-WCID TX MPDU
  statistics
 
 Change source of per-WCID TX MPDU statistics from TX-free-done event to PPDU TXS, because WCID from TX-free-done event may not represent the actually used link.
@@ -15,7 +15,7 @@
  3 files changed, 33 insertions(+), 23 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 62ae2662..c3b71cc3 100644
+index 62ae266..c3b71cc 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -364,6 +364,7 @@ struct mt76_sta_stats {
@@ -27,7 +27,7 @@
  	u32 tx_failed;
  	u64 tx_airtime;
 diff --git a/mt76_connac3_mac.h b/mt76_connac3_mac.h
-index db0c29e6..ad8392cd 100644
+index db0c29e..ad8392c 100644
 --- a/mt76_connac3_mac.h
 +++ b/mt76_connac3_mac.h
 @@ -204,6 +204,11 @@ enum tx_frag_idx {
@@ -43,7 +43,7 @@
  #define MT_CT_INFO_COPY_HOST_TXD_ALL	BIT(1)
  #define MT_CT_INFO_MGMT_FRAME		BIT(2)
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 3cd034cd..87e671a3 100644
+index 3cd034c..87e671a 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1218,19 +1218,9 @@ mt7996_mac_tx_free(struct mt7996_dev *dev, void *data, int len)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0163-mtk-mt76-mt7996-update-preamble-puncture-support-for.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0163-mtk-mt76-mt7996-update-preamble-puncture-support-for.patch
index b8184c9..4379c40 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0163-mtk-mt76-mt7996-update-preamble-puncture-support-for.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0163-mtk-mt76-mt7996-update-preamble-puncture-support-for.patch
@@ -1,7 +1,7 @@
-From 8908556d4135d7aee178baa3bfb9d3025d1611d9 Mon Sep 17 00:00:00 2001
+From f383ae59e0f45d2205bab591e4a35b92a378c4b3 Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Tue, 28 May 2024 15:31:39 +0800
-Subject: [PATCH 163/223] mtk: mt76: mt7996: update preamble puncture support
+Subject: [PATCH 163/193] mtk: mt76: mt7996: update preamble puncture support
  for mt7996
 
 Add pp station mode support. Current fw only support one bitmap on a band.
@@ -23,7 +23,7 @@
  5 files changed, 165 insertions(+), 1 deletion(-)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 931b29eb..cc644edf 100644
+index 931b29e..cc644ed 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1076,6 +1076,7 @@ enum {
@@ -35,10 +35,10 @@
  	MCU_UNI_EVENT_ALL_STA_INFO = 0x6e,
  };
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 103902b7..562137a5 100644
+index e09798c..1c86a8c 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1241,6 +1241,12 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
+@@ -1240,6 +1240,12 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
  	if (ret)
  		goto error;
  
@@ -51,7 +51,7 @@
  	ewma_avg_signal_init(&mlink->avg_ack_signal);
  
  	return 0;
-@@ -2844,6 +2850,10 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
+@@ -2843,6 +2849,10 @@ mt7996_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf)
  	if (ret)
  		return ret;
  
@@ -62,7 +62,7 @@
  	return mt7996_set_channel(phy, &ctx->chandef);
  }
  
-@@ -2964,6 +2974,7 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
+@@ -2963,6 +2973,7 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
  	struct mt7996_chanctx *new_ctx;
  	struct mt7996_phy *phy;
  	int i, ret = 0;
@@ -70,7 +70,7 @@
  
  	for (i = 0; i < n_vifs; i++) {
  		if (vifs[i].old_ctx == vifs[i].new_ctx)
-@@ -3006,6 +3017,17 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
+@@ -3005,6 +3016,17 @@ mt7996_switch_vif_chanctx(struct ieee80211_hw *hw,
  
  		mutex_unlock(&dev->mt76.mutex);
  
@@ -89,7 +89,7 @@
  		if (ret)
  			goto out;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 723a7ad9..fce92046 100644
+index cef0882..13dc0ac 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1285,6 +1285,39 @@ mt7996_mcu_wed_rro_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -235,7 +235,7 @@
  {
  	struct mt7996_dev *dev = phy->dev;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index d99e9a60..011b6c7a 100644
+index d99e9a6..011b6c7 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1162,6 +1162,7 @@ enum {
@@ -287,7 +287,7 @@
  	UNI_CMD_SCS_SEND_DATA,
  	UNI_CMD_SCS_SET_PD_THR_RANGE = 2,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index c122989d..58151ed0 100644
+index c122989..58151ed 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1280,6 +1280,8 @@ int mt7996_mcu_wtbl_update_hdr_trans(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0164-mtk-mt76-Add-dynamic-pp-vendor-and-debug-pp-algo-cmd.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0164-mtk-mt76-Add-dynamic-pp-vendor-and-debug-pp-algo-cmd.patch
index f0528a9..fef5dc9 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0164-mtk-mt76-Add-dynamic-pp-vendor-and-debug-pp-algo-cmd.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0164-mtk-mt76-Add-dynamic-pp-vendor-and-debug-pp-algo-cmd.patch
@@ -1,7 +1,7 @@
-From fdf267776932e3bab7c0d87f2c9c8a96ac9a4e0f Mon Sep 17 00:00:00 2001
+From 8ec1b934dbece35a4512a7ea203bb81c84dc268e Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Tue, 28 May 2024 15:39:06 +0800
-Subject: [PATCH 164/223] mtk: mt76: Add dynamic pp vendor and debug pp algo
+Subject: [PATCH 164/193] mtk: mt76: Add dynamic pp vendor and debug pp algo
  cmd support
 
 Add dynamic pp vendor and debug pp algo cmd support.
@@ -26,7 +26,7 @@
  6 files changed, 205 insertions(+), 30 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index fce92046..77d3b2c8 100644
+index 13dc0ac..e587051 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1285,6 +1285,39 @@ mt7996_mcu_wed_rro_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -122,7 +122,7 @@
  {
  	struct mt7996_dev *dev = phy->dev;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 011b6c7a..01eb0ea1 100644
+index 011b6c7..01eb0ea 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1162,6 +1162,7 @@ enum {
@@ -185,7 +185,7 @@
  	UNI_CMD_SCS_SEND_DATA,
  	UNI_CMD_SCS_SET_PD_THR_RANGE = 2,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 58151ed0..755b4cf0 100644
+index 58151ed..755b4cf 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1282,6 +1282,7 @@ int mt7996_mcu_cp_support(struct mt7996_dev *dev, u8 mode);
@@ -205,7 +205,7 @@
  
  int mt7996_mcu_edcca_enable(struct mt7996_phy *phy, bool enable);
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 02a6ee81..2ded5f79 100644
+index 02a6ee8..2ded5f7 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -4367,6 +4367,18 @@ static const struct file_operations fops_muru_dbg_info = {
@@ -237,7 +237,7 @@
  
  void mt7996_mtk_init_dev_debugfs(struct mt7996_dev *dev, struct dentry *dir)
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index 33c682c0..d7973c5e 100644
+index 33c682c..d7973c5 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -96,7 +96,9 @@ ibf_ctrl_policy[NUM_MTK_VENDOR_ATTRS_IBF_CTRL] = {
@@ -397,7 +397,7 @@
  	INIT_LIST_HEAD(&phy->csi.list);
  	spin_lock_init(&phy->csi.lock);
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 714f0b3e..ca4f00ad 100644
+index 714f0b3..ca4f00a 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -21,6 +21,10 @@ enum mtk_nl80211_vendor_subcmds {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0165-mtk-mt76-mt7996-disable-MAT-and-set-force-link-for-4.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0165-mtk-mt76-mt7996-disable-MAT-and-set-force-link-for-4.patch
index 8d58295..412abba 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0165-mtk-mt76-mt7996-disable-MAT-and-set-force-link-for-4.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0165-mtk-mt76-mt7996-disable-MAT-and-set-force-link-for-4.patch
@@ -1,7 +1,7 @@
-From 05542b2127e52eae086612d666891b8f84f357e9 Mon Sep 17 00:00:00 2001
+From a07c7a995292a0df235287f217c91d6ea2b532fc Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Mon, 8 Jul 2024 11:05:31 +0800
-Subject: [PATCH 165/223] mtk: mt76: mt7996: disable MAT and set force-link for
+Subject: [PATCH 165/193] mtk: mt76: mt7996: disable MAT and set force-link for
  4-addr NULL func data frame
 
 This is a temporary solution to solve a WDS connection problem.
@@ -20,7 +20,7 @@
  1 file changed, 6 insertions(+)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 87e671a3..1f225756 100644
+index 87e671a..1f22575 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -771,6 +771,12 @@ mt7996_mac_write_txwi_80211(struct mt7996_dev *dev, __le32 *txwi,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0166-mtk-mt76-mt7996-add-per-STA-TX-MSDU-failed-and-retri.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0166-mtk-mt76-mt7996-add-per-STA-TX-MSDU-failed-and-retri.patch
index 8433a4e..25dbf2b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0166-mtk-mt76-mt7996-add-per-STA-TX-MSDU-failed-and-retri.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0166-mtk-mt76-mt7996-add-per-STA-TX-MSDU-failed-and-retri.patch
@@ -1,7 +1,7 @@
-From e785b2395e3f293ce49ddab807fee0f3bda779d6 Mon Sep 17 00:00:00 2001
+From a7a99f2c82b7dfcc147eb45e695b2c04058ec8b4 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Thu, 4 Jul 2024 14:00:16 +0800
-Subject: [PATCH 166/223] mtk: mt76: mt7996: add per-STA TX MSDU failed and
+Subject: [PATCH 166/193] mtk: mt76: mt7996: add per-STA TX MSDU failed and
  retried counts
 
 Record per-STA TX MSDU failed and retried counts for debugging.
@@ -18,7 +18,7 @@
  6 files changed, 68 insertions(+), 59 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index c3b71cc3..27c990df 100644
+index c3b71cc..27c990d 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -364,6 +364,8 @@ struct mt76_sta_stats {
@@ -31,7 +31,7 @@
  	u32 tx_retries;
  	u32 tx_failed;
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index cc644edf..302567e3 100644
+index cc644ed..302567e 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1407,6 +1407,8 @@ enum {
@@ -52,7 +52,7 @@
  };
  
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 1f225756..8c68e08e 100644
+index 1f22575..8c68e08 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -2443,6 +2443,43 @@ void mt7996_mac_sta_rc_work(struct work_struct *work)
@@ -109,7 +109,7 @@
  					mt7996_mcu_get_all_sta_info(mdev, UNI_ALL_STA_TXRX_ADM_STAT);
  					mt7996_mcu_get_all_sta_info(mdev, UNI_ALL_STA_TXRX_MSDU_COUNT);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 77d3b2c8..3fcc7fac 100644
+index e587051..cd2bab3 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -6027,7 +6027,6 @@ int mt7996_mcu_set_rro(struct mt7996_dev *dev, u16 tag, u16 val)
@@ -208,7 +208,7 @@
  {
  	struct {
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 01eb0ea1..739e357c 100644
+index 01eb0ea..739e357 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -211,6 +211,13 @@ struct per_sta_snr {
@@ -234,7 +234,7 @@
  } __packed;
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 755b4cf0..a02e976a 100644
+index 755b4cf..a02e976 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1138,7 +1138,6 @@ void mt7996_mcu_rx_event(struct mt7996_dev *dev, struct sk_buff *skb);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0167-mtk-mt76-mt7996-fill-in-sn-into-txd-for-MLD-multicas.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0167-mtk-mt76-mt7996-fill-in-sn-into-txd-for-MLD-multicas.patch
index 00e7840..c8380c4 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0167-mtk-mt76-mt7996-fill-in-sn-into-txd-for-MLD-multicas.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0167-mtk-mt76-mt7996-fill-in-sn-into-txd-for-MLD-multicas.patch
@@ -1,7 +1,7 @@
-From 261d876ae90ba658963a1aae901a4f513e56684e Mon Sep 17 00:00:00 2001
+From ac83d9b14355f09b77e9292d641e894ccfa01f9d Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 15 Jul 2024 11:42:47 +0800
-Subject: [PATCH 167/223] mtk: mt76: mt7996: fill in sn into txd for MLD
+Subject: [PATCH 167/193] mtk: mt76: mt7996: fill in sn into txd for MLD
  multicast packet
 
 Change-Id: I09d3dd71aee227f7b8ef06756064b0d4079e7d54
@@ -11,7 +11,7 @@
  1 file changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 8c68e08e..1952cb0c 100644
+index 8c68e08..1952cb0 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -693,6 +693,7 @@ mt7996_mac_write_txwi_80211(struct mt7996_dev *dev, __le32 *txwi,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0168-mtk-mt76-mt7996-fix-potential-null-pointer.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0168-mtk-mt76-mt7996-fix-potential-null-pointer.patch
index 418c92e..8b24958 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0168-mtk-mt76-mt7996-fix-potential-null-pointer.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0168-mtk-mt76-mt7996-fix-potential-null-pointer.patch
@@ -1,7 +1,7 @@
-From 4de8ef89ddae7299fbf92927aaa6bf226e10bef0 Mon Sep 17 00:00:00 2001
+From 262e17ebf0c8c55427b2d483fa0e9d3d0224331a Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Tue, 9 Jul 2024 14:54:39 +0800
-Subject: [PATCH 168/223] mtk: mt76: mt7996: fix potential null pointer
+Subject: [PATCH 168/193] mtk: mt76: mt7996: fix potential null pointer
 
 Fix more parts that might have null pointer access.
 
@@ -16,7 +16,7 @@
  3 files changed, 16 insertions(+)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 1952cb0c..1a3c661f 100644
+index 1952cb0..1a3c661 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1127,6 +1127,9 @@ mt7996_tx_check_aggr(struct ieee80211_sta *sta, struct sk_buff *skb,
@@ -30,7 +30,7 @@
  		ieee80211_start_tx_ba_session(sta, tid, 0);
  }
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 562137a5..c95e7e35 100644
+index 1c86a8c..90320e5 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -518,9 +518,12 @@ static void mt7996_remove_interface(struct ieee80211_hw *hw,
@@ -46,7 +46,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
  
-@@ -928,6 +931,9 @@ static void mt7996_vif_cfg_changed(struct ieee80211_hw *hw,
+@@ -927,6 +930,9 @@ static void mt7996_vif_cfg_changed(struct ieee80211_hw *hw,
  			struct mt7996_link_sta *mlink =
  				mlink_dereference_protected(&mvif->sta, link_id);
  
@@ -56,7 +56,7 @@
  			mt7996_mcu_add_bss_info(mconf->phy, conf, mconf, mlink, true);
  			mt7996_mcu_add_sta(dev, conf, mconf, NULL, mlink, true, false);
  		}
-@@ -1279,6 +1285,8 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
+@@ -1278,6 +1284,8 @@ mt7996_mac_sta_remove_links(struct mt7996_dev *dev, struct ieee80211_vif *vif,
  			link_sta_dereference_protected(sta, link_id);
  		bool last_link = rem == sta->valid_links && link_id == __fls(rem);
  
@@ -65,7 +65,7 @@
  		mt7996_remove_link_sta(dev, conf, mconf, link_sta, mlink, last_link);
  	}
  }
-@@ -1419,6 +1427,8 @@ mt7996_sta_pre_rcu_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -1418,6 +1426,8 @@ mt7996_sta_pre_rcu_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		struct mt7996_link_sta *mlink =
  			mlink_dereference_protected(msta, link_id);
  
@@ -75,7 +75,7 @@
  	}
  	spin_unlock_bh(&dev->mt76.status_lock);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 3fcc7fac..856168f6 100644
+index cd2bab3..fb4f5f5 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3032,6 +3032,9 @@ mt7996_mcu_sta_mld_setup_tlv(struct mt7996_dev *dev, struct sk_buff *skb,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0169-mtk-mt76-mt7996-Fix-legacy-action-frame-wrong-addres.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0169-mtk-mt76-mt7996-Fix-legacy-action-frame-wrong-addres.patch
index 01f7688..6687e45 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0169-mtk-mt76-mt7996-Fix-legacy-action-frame-wrong-addres.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0169-mtk-mt76-mt7996-Fix-legacy-action-frame-wrong-addres.patch
@@ -1,7 +1,7 @@
-From 9134d34ad3ad49037980ec5e37437753dc583a4b Mon Sep 17 00:00:00 2001
+From f53d004650f9a9d4d8f3f8e929be22d32a45f31c Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Wed, 17 Jul 2024 11:36:11 +0800
-Subject: [PATCH 169/223] mtk: mt76: mt7996: Fix legacy action frame wrong
+Subject: [PATCH 169/193] mtk: mt76: mt7996: Fix legacy action frame wrong
  address translation
 
 For non-associated STA send unicast ANQP request, AP should use unicast
@@ -14,7 +14,7 @@
  1 file changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 1a3c661f..406a1275 100644
+index 1a3c661..406a127 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -683,7 +683,8 @@ mt7996_mac_write_txwi_8023(struct mt7996_dev *dev, __le32 *txwi,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0170-mtk-mt76-mt7996-add-AP-affiliated-link-removal-suppo.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0170-mtk-mt76-mt7996-add-AP-affiliated-link-removal-suppo.patch
index 1819f12..10de901 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0170-mtk-mt76-mt7996-add-AP-affiliated-link-removal-suppo.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0170-mtk-mt76-mt7996-add-AP-affiliated-link-removal-suppo.patch
@@ -1,7 +1,7 @@
-From a025d78199c2a329723707c689075c34d7c780e5 Mon Sep 17 00:00:00 2001
+From 95ad534b954c4ed55417dd5e1fbfb80410c52835 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Fri, 31 May 2024 18:14:59 +0800
-Subject: [PATCH 170/223] mtk: mt76: mt7996: add AP affiliated link removal
+Subject: [PATCH 170/193] mtk: mt76: mt7996: add AP affiliated link removal
  support
 
 Add support for ap link removal of MLD reconfiguration.
@@ -17,7 +17,7 @@
  5 files changed, 367 insertions(+), 12 deletions(-)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 302567e3..4976d944 100644
+index 302567e..4976d94 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1079,6 +1079,7 @@ enum {
@@ -45,7 +45,7 @@
  
  enum {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index c95e7e35..6ad4558b 100644
+index 90320e5..a9ae083 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
 @@ -319,6 +319,21 @@ static void mt7996_remove_bss_conf(struct ieee80211_vif *vif,
@@ -79,7 +79,7 @@
  		mtxq = (struct mt76_txq *)vif->txq->drv_priv;
  		mtxq->wcid = idx;
  	}
-@@ -1128,6 +1143,8 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
+@@ -1127,6 +1142,8 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
  {
  	struct ieee80211_sta *sta = link_sta->sta;
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
@@ -88,7 +88,7 @@
  	int i;
  
  	if (!mlink)
-@@ -1148,6 +1165,7 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
+@@ -1147,6 +1164,7 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
  		mt7996_mac_twt_teardown_flow(dev, mlink, i);
  
  	rcu_assign_pointer(mlink->sta->link[mlink->wcid.link_id], NULL);
@@ -96,7 +96,7 @@
  
  	spin_lock_bh(&dev->mt76.sta_poll_lock);
  	if (!list_empty(&mlink->wcid.poll_list))
-@@ -1156,17 +1174,41 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
+@@ -1155,17 +1173,41 @@ static void mt7996_remove_link_sta(struct mt7996_dev *dev,
  		list_del_init(&mlink->rc_list);
  	spin_unlock_bh(&dev->mt76.sta_poll_lock);
  
@@ -146,7 +146,7 @@
  	mt76_wcid_cleanup(&dev->mt76, &mlink->wcid);
  	mt76_wcid_mask_clear(dev->mt76.wcid_mask, mlink->wcid.idx);
  	mt76_wcid_mask_clear(dev->mt76.wcid_phy_mask, mlink->wcid.idx);
-@@ -3108,9 +3150,15 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -3107,9 +3149,15 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	mt76_vif_dbg(vif, "STA %pM old=0x%x, new=0x%x\n", sta->addr, old_links, new_links);
  	mutex_lock(&dev->mt76.mutex);
  
@@ -164,7 +164,7 @@
  	if (ret)
  		goto remove;
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 856168f6..417c38a3 100644
+index fb4f5f5..b6cc459 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1355,6 +1355,48 @@ mt7996_mcu_pp_event(struct mt7996_dev *dev, struct sk_buff *skb)
@@ -427,7 +427,7 @@
  	dev_kfree_skb(skb);
  	return mt76_mcu_skb_send_msg(&phy->dev->mt76, rskb,
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 739e357c..7c559d2b 100644
+index 739e357..7c559d2 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -546,6 +546,20 @@ struct bss_bcn_sta_prof_cntdwn_tlv {
@@ -548,7 +548,7 @@
  	u8 _rsv[4];
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index a02e976a..a7655a61 100644
+index a02e976..a7655a6 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1087,6 +1087,8 @@ int mt7996_mcu_add_rate_ctrl(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0171-mtk-mt76-mt7996-add-support-for-AP-A-TTLM.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0171-mtk-mt76-mt7996-add-support-for-AP-A-TTLM.patch
index 4365a84..298bf29 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0171-mtk-mt76-mt7996-add-support-for-AP-A-TTLM.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0171-mtk-mt76-mt7996-add-support-for-AP-A-TTLM.patch
@@ -1,7 +1,7 @@
-From 54aea6e753436bff0a258c753d2b8da3daea72f8 Mon Sep 17 00:00:00 2001
+From b70fdcfd5cd1de56bbf1fdb04dc8b14dd59de7b5 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Fri, 28 Jun 2024 13:45:15 +0800
-Subject: [PATCH 171/223] mtk: mt76: mt7996: add support for AP A-TTLM
+Subject: [PATCH 171/193] mtk: mt76: mt7996: add support for AP A-TTLM
 
 This add support for AP A-TTLM support by following actions
 1. request at2lm resource to FW and get switch time TSF value
@@ -20,7 +20,7 @@
  5 files changed, 214 insertions(+), 1 deletion(-)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 4976d944..18758ff2 100644
+index 4976d94..18758ff 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1401,6 +1401,7 @@ enum {
@@ -32,10 +32,10 @@
  
  enum {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 6ad4558b..c6cb5104 100644
+index a9ae083..972023c 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -3171,6 +3171,19 @@ out:
+@@ -3170,6 +3170,19 @@ out:
  	return ret;
  }
  
@@ -55,14 +55,14 @@
  static void
  mt7996_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		      const struct ieee80211_event *event)
-@@ -3331,4 +3344,5 @@ const struct ieee80211_ops mt7996_ops = {
+@@ -3330,4 +3343,5 @@ const struct ieee80211_ops mt7996_ops = {
  	.change_vif_links = mt7996_change_vif_links,
  	.change_sta_links = mt7996_change_sta_links,
  	.set_qos_map = mt7996_set_qos_map,
 +	.set_attlm = mt7996_set_attlm,
  };
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 417c38a3..0e8e2c06 100644
+index b6cc459..2ab7377 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -1367,6 +1367,22 @@ mt7996_mcu_mld_reconf_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
@@ -255,7 +255,7 @@
  	dev_kfree_skb(skb);
  	return mt76_mcu_skb_send_msg(&phy->dev->mt76, rskb,
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 7c559d2b..0f2695eb 100644
+index 7c559d2..0f2695e 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -560,6 +560,14 @@ struct bss_bcn_ml_reconf_offset {
@@ -340,7 +340,7 @@
  };
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index a7655a61..15c4e557 100644
+index a7655a6..15c4e55 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1158,6 +1158,8 @@ int mt7996_mcu_set_vow_drr_ctrl(struct mt7996_phy *phy,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0172-mtk-mt76-mt7996-leave-ps-when-4-address-is-establish.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0172-mtk-mt76-mt7996-leave-ps-when-4-address-is-establish.patch
index f7fb35f..2b18cc3 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0172-mtk-mt76-mt7996-leave-ps-when-4-address-is-establish.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0172-mtk-mt76-mt7996-leave-ps-when-4-address-is-establish.patch
@@ -1,7 +1,7 @@
-From 4b29092cc31d34967152a3062966d987fc5352eb Mon Sep 17 00:00:00 2001
+From c338f3a5a47c2bbb7c4654e558ad0a73c84c38e0 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Thu, 18 Jul 2024 10:29:22 +0800
-Subject: [PATCH 172/223] mtk: mt76: mt7996: leave ps when 4 address is
+Subject: [PATCH 172/193] mtk: mt76: mt7996: leave ps when 4 address is
  established
 
 Because the 4 address non-amsdu packet does not have bssid field, the
@@ -20,7 +20,7 @@
  5 files changed, 30 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 18758ff2..69c8389f 100644
+index 18758ff..69c8389 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -843,6 +843,7 @@ enum {
@@ -32,10 +32,10 @@
  };
  
 diff --git a/mt7996/main.c b/mt7996/main.c
-index c6cb5104..21d65f78 100644
+index 972023c..79334a7 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -2081,6 +2081,9 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
+@@ -2080,6 +2080,9 @@ static void mt7996_sta_set_4addr(struct ieee80211_hw *hw,
  			clear_bit(MT_WCID_FLAG_4ADDR, &mlink->wcid.flags);
  
  		mt7996_mcu_wtbl_update_hdr_trans(dev, vif, mconf, mlink);
@@ -46,7 +46,7 @@
  	mutex_unlock(&dev->mt76.mutex);
  }
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 0e8e2c06..b47aa7d6 100644
+index 2ab7377..faf7477 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -6257,6 +6257,24 @@ int mt7996_mcu_wtbl_update_hdr_trans(struct mt7996_dev *dev,
@@ -75,7 +75,7 @@
  				    u16 rate_idx, bool beacon)
  {
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 0f2695eb..ffa574b8 100644
+index 0f2695e..ffa574b 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -775,6 +775,12 @@ struct sta_rec_hdr_trans {
@@ -92,7 +92,7 @@
  	__le16 tag;
  	__le16 len;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 15c4e557..21019bc2 100644
+index 15c4e55..21019bc 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1281,6 +1281,8 @@ int mt7996_mcu_wtbl_update_hdr_trans(struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0173-mtk-mt76-mt7996-add-debugfs-knob-to-set-and-dump-txo.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0173-mtk-mt76-mt7996-add-debugfs-knob-to-set-and-dump-txo.patch
index 687d1ff..98557fc 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0173-mtk-mt76-mt7996-add-debugfs-knob-to-set-and-dump-txo.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0173-mtk-mt76-mt7996-add-debugfs-knob-to-set-and-dump-txo.patch
@@ -1,7 +1,7 @@
-From c8d33542d7f89e4404f932beb1883093f4c723a1 Mon Sep 17 00:00:00 2001
+From 89d2a4f1f7f085d5abed6adba0cea27380ffa2c0 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 17 Jul 2024 16:57:24 +0800
-Subject: [PATCH 173/223] mtk: mt76: mt7996: add debugfs knob to set and dump
+Subject: [PATCH 173/193] mtk: mt76: mt7996: add debugfs knob to set and dump
  txop
 
 Change-Id: Iaf4fa82556c9ee4433de29f1ebe125e91c743284
@@ -12,7 +12,7 @@
  2 files changed, 112 insertions(+)
 
 diff --git a/mt7996/mtk_debug_i.h b/mt7996/mtk_debug_i.h
-index cec8d57e..01023e16 100644
+index cec8d57..01023e1 100644
 --- a/mt7996/mtk_debug_i.h
 +++ b/mt7996/mtk_debug_i.h
 @@ -1006,6 +1006,14 @@
@@ -31,7 +31,7 @@
  
  #endif
 diff --git a/mt7996/mtk_debugfs_i.c b/mt7996/mtk_debugfs_i.c
-index 852d1b12..c9224eee 100644
+index 852d1b1..c9224ee 100644
 --- a/mt7996/mtk_debugfs_i.c
 +++ b/mt7996/mtk_debugfs_i.c
 @@ -824,6 +824,109 @@ static const struct file_operations fops_mlo_agc_tx = {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0174-mtk-mt76-mt7996-add-mcu-command-to-set-bssid-mapping.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0174-mtk-mt76-mt7996-add-mcu-command-to-set-bssid-mapping.patch
index 9d09a4f..f1f790f 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0174-mtk-mt76-mt7996-add-mcu-command-to-set-bssid-mapping.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0174-mtk-mt76-mt7996-add-mcu-command-to-set-bssid-mapping.patch
@@ -1,7 +1,7 @@
-From 848a43638c737f72cf30a53b855f0f09ee7be729 Mon Sep 17 00:00:00 2001
+From 1d0deb0b86c36daa34ed2d8f64c4a1dbb161ad37 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Mon, 22 Jul 2024 10:47:45 +0800
-Subject: [PATCH 174/223] mtk: mt76: mt7996: add mcu command to set bssid
+Subject: [PATCH 174/193] mtk: mt76: mt7996: add mcu command to set bssid
  mapping address
 
 When receiving 4 address non-amsdu packet, there is no bssid in the address
@@ -18,10 +18,10 @@
  4 files changed, 35 insertions(+)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 18847ff5..d7a1d7cd 100644
+index 53781d4..e8192b8 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -539,6 +539,9 @@ mt7996_mac_init_band(struct mt7996_dev *dev, u8 band)
+@@ -536,6 +536,9 @@ mt7996_mac_init_band(struct mt7996_dev *dev, u8 band)
  {
  	u32 mask, set;
  
@@ -31,7 +31,7 @@
  	/* clear estimated value of EIFS for Rx duration & OBSS time */
  	mt76_wr(dev, MT_WF_RMAC_RSVD0(band), MT_WF_RMAC_RSVD0_EIFS_CLR);
  
-@@ -566,6 +569,10 @@ mt7996_mac_init_band(struct mt7996_dev *dev, u8 band)
+@@ -563,6 +566,10 @@ mt7996_mac_init_band(struct mt7996_dev *dev, u8 band)
  	 * MT_AGG_ACR_PPDU_TXS2H (PPDU format) even though ACR bit is set.
  	 */
  	mt76_set(dev, MT_AGG_ACR4(band), MT_AGG_ACR_PPDU_TXS2H);
@@ -43,7 +43,7 @@
  
  static void mt7996_mac_init_basic_rates(struct mt7996_dev *dev)
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index b47aa7d6..dc1af0be 100644
+index faf7477..19e0d6c 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -6127,6 +6127,32 @@ int mt7996_mcu_twt_agrt_update(struct mt7996_dev *dev,
@@ -80,7 +80,7 @@
  {
  	struct {
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index ffa574b8..5d4625c8 100644
+index ffa574b..5d4625c 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1067,6 +1067,7 @@ enum {
@@ -92,7 +92,7 @@
  
  enum {
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 21019bc2..b9b52d17 100644
+index 21019bc..b9b52d1 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1112,6 +1112,7 @@ int mt7996_mcu_set_radar_th(struct mt7996_dev *dev, int index,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0175-mtk-mt76-mt7996-Temporary-fix-init-txpwoer-for-singl.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0175-mtk-mt76-mt7996-Temporary-fix-init-txpwoer-for-singl.patch
index ebf90c9..e982085 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0175-mtk-mt76-mt7996-Temporary-fix-init-txpwoer-for-singl.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0175-mtk-mt76-mt7996-Temporary-fix-init-txpwoer-for-singl.patch
@@ -1,7 +1,7 @@
-From ece67fdae758e7e94b3a00148e9d205c8cff3228 Mon Sep 17 00:00:00 2001
+From ce486289c0bc2d401aa0ea225f66a34bbad0d8a3 Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Mon, 22 Jul 2024 19:33:07 +0800
-Subject: [PATCH 175/223] mtk: mt76: mt7996: Temporary fix init txpwoer for
+Subject: [PATCH 175/193] mtk: mt76: mt7996: Temporary fix init txpwoer for
  single wiphy
 
 This patch can be removed after the real single wiphy finished.
@@ -13,10 +13,10 @@
  1 file changed, 15 insertions(+), 6 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index d7a1d7cd..64c28ba4 100644
+index e8192b8..6e83eaa 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -373,15 +373,24 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
+@@ -370,15 +370,24 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
  
  void mt7996_init_txpower(struct mt7996_phy *phy)
  {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0176-mtk-mt76-mt7996-Add-lpi-support-with-sku_idx-and-enh.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0176-mtk-mt76-mt7996-Add-lpi-support-with-sku_idx-and-enh.patch
index 50c352a..1943b05 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0176-mtk-mt76-mt7996-Add-lpi-support-with-sku_idx-and-enh.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0176-mtk-mt76-mt7996-Add-lpi-support-with-sku_idx-and-enh.patch
@@ -1,7 +1,7 @@
-From b6751afce073f71139c40e17b05b25950b037a28 Mon Sep 17 00:00:00 2001
+From a48dd483314110598c030bb29d044ae3a466300f Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Fri, 12 Jul 2024 16:58:57 +0800
-Subject: [PATCH 176/223] mtk: mt76: mt7996: Add lpi support with sku_idx and
+Subject: [PATCH 176/193] mtk: mt76: mt7996: Add lpi support with sku_idx and
  enhancement
 
 Add lpi support with sku_idx and enhancement.
@@ -30,7 +30,7 @@
  14 files changed, 286 insertions(+), 30 deletions(-)
 
 diff --git a/eeprom.c b/eeprom.c
-index 4eb27782..469af710 100644
+index 4eb2778..469af71 100644
 --- a/eeprom.c
 +++ b/eeprom.c
 @@ -233,8 +233,9 @@ static bool mt76_string_prop_find(struct property *prop, const char *str)
@@ -92,7 +92,7 @@
  		return target_power;
  
 diff --git a/mt76.h b/mt76.h
-index 27c990df..14f409ba 100644
+index 27c990d..14f409b 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -948,6 +948,7 @@ struct mt76_phy {
@@ -124,7 +124,7 @@
  mt76_find_channel_node(struct device_node *np, struct ieee80211_channel *chan);
  
 diff --git a/mt76_connac3_mac.h b/mt76_connac3_mac.h
-index ad8392cd..7bc41047 100644
+index ad8392c..7bc4104 100644
 --- a/mt76_connac3_mac.h
 +++ b/mt76_connac3_mac.h
 @@ -209,6 +209,18 @@ enum {
@@ -147,10 +147,10 @@
  #define MT_CT_INFO_COPY_HOST_TXD_ALL	BIT(1)
  #define MT_CT_INFO_MGMT_FRAME		BIT(2)
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 64c28ba4..b63316b4 100644
+index 6e83eaa..9634928 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -347,7 +347,7 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
+@@ -344,7 +344,7 @@ static void __mt7996_init_txpower(struct mt7996_phy *phy,
  
  	phy->sku_limit_en = true;
  	phy->sku_path_en = true;
@@ -160,7 +160,7 @@
  		struct ieee80211_channel *chan = &sband->channels[i];
  		int target_power = mt7996_eeprom_get_target_power(dev, chan);
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 406a1275..295bff24 100644
+index 406a127..295bff2 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -897,8 +897,13 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
@@ -178,10 +178,10 @@
  		txwi[3] |= cpu_to_le32(MT_TXD3_BA_DISABLE);
  	}
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 21d65f78..2b92b686 100644
+index 79334a7..f3c55bc 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -878,6 +878,7 @@ static u8
+@@ -877,6 +877,7 @@ static u8
  mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
  		       struct mt7996_bss_conf *mconf, bool beacon, bool mcast)
  {
@@ -189,7 +189,7 @@
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt76_phy *mphy = mconf->phy->mt76;
  	u16 rate;
-@@ -890,6 +891,8 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
+@@ -889,6 +890,8 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
  
  		if (dev->cert_mode && phy->mt76->band_idx == MT_BAND2)
  			rate = 0x0200;
@@ -198,7 +198,7 @@
  
  		/* odd index for driver, even index for firmware */
  		idx = MT7996_BEACON_RATES_TBL + 2 * phy->mt76->band_idx;
-@@ -1035,7 +1038,7 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
+@@ -1034,7 +1037,7 @@ static void mt7996_link_info_changed(struct ieee80211_hw *hw,
  		mt7996_update_mu_group(hw, info, mconf);
  
  	if (changed & BSS_CHANGED_TXPOWER)
@@ -208,7 +208,7 @@
  out:
  	mutex_unlock(&dev->mt76.mutex);
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index dc1af0be..c6b6f405 100644
+index 19e0d6c..4919267 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -6320,7 +6320,7 @@ int mt7996_mcu_set_fixed_rate_table(struct mt7996_phy *phy, u8 table_idx,
@@ -380,7 +380,7 @@
  {
  	__le32 cp_mode;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 5d4625c8..a5818f95 100644
+index 5d4625c..a5818f9 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1067,6 +1067,7 @@ enum {
@@ -392,7 +392,7 @@
  };
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index b9b52d17..8b7486a1 100644
+index b9b52d1..8b7486a 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1119,7 +1119,7 @@ int mt7996_mcu_get_temperature(struct mt7996_phy *phy);
@@ -413,7 +413,7 @@
  
  int mt7996_mcu_edcca_enable(struct mt7996_phy *phy, bool enable);
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 2ded5f79..78450935 100644
+index 2ded5f7..7845093 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2508,7 +2508,7 @@ mt7996_get_txpower_info(struct file *file, char __user *user_buf,
@@ -434,7 +434,7 @@
  
  #endif
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 240227a9..1674e129 100644
+index 240227a..1674e12 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -1857,7 +1857,7 @@ mt7996_tm_update_params(struct mt7996_phy *phy, u32 changed)
@@ -447,7 +447,7 @@
  	if (changed & BIT(TM_CHANGED_TX_LENGTH)) {
  		mt7996_tm_set(dev, SET_ID(TX_LEN), td->tx_mpdu_len);
 diff --git a/mt7996/testmode.h b/mt7996/testmode.h
-index ba1767ae..5c720da7 100644
+index ba1767a..5c720da 100644
 --- a/mt7996/testmode.h
 +++ b/mt7996/testmode.h
 @@ -15,18 +15,6 @@ enum {
@@ -470,7 +470,7 @@
  	BF_CDBW_20MHZ,
  	BF_CDBW_40MHZ,
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index d7973c5e..e75c163e 100644
+index d7973c5..e75c163 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -145,6 +145,14 @@ csi_ctrl_policy[NUM_MTK_VENDOR_ATTRS_CSI_CTRL] = {
@@ -611,7 +611,7 @@
  
  static const struct nl80211_vendor_cmd_info mt7996_vendor_events[] = {
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index ca4f00ad..515f77a6 100644
+index ca4f00a..515f77a 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -18,6 +18,7 @@ enum mtk_nl80211_vendor_subcmds {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0177-mtk-mt76-mt7996-Add-Triggered-Uplink-Access-Optimiza.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0177-mtk-mt76-mt7996-Add-Triggered-Uplink-Access-Optimiza.patch
index 53d656d..77b151b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0177-mtk-mt76-mt7996-Add-Triggered-Uplink-Access-Optimiza.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0177-mtk-mt76-mt7996-Add-Triggered-Uplink-Access-Optimiza.patch
@@ -1,7 +1,7 @@
-From 80c870cb7dc5faa9b045a1a44322fc07f5f8aed3 Mon Sep 17 00:00:00 2001
+From d216d869ee7e131fd895472bd83f12bb4abf58e1 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Tue, 2 Jul 2024 10:06:26 +0800
-Subject: [PATCH 177/223] mtk: mt76: mt7996: Add Triggered Uplink Access
+Subject: [PATCH 177/193] mtk: mt76: mt7996: Add Triggered Uplink Access
  Optimization support
 
 Add TUAO feature, which is a subset of SCS procedure support.
@@ -18,10 +18,10 @@
  6 files changed, 173 insertions(+), 7 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index b63316b4..ae86c0eb 100644
+index 9634928..3978560 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -62,7 +62,14 @@ static const struct ieee80211_iface_combination if_comb_7992[] = {
+@@ -59,7 +59,14 @@ static const struct ieee80211_iface_combination if_comb_7992[] = {
  	}
  };
  
@@ -37,7 +37,7 @@
  	[0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
  	[2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT,
  	[7] = WLAN_EXT_CAPA8_OPMODE_NOTIF,
-@@ -71,16 +78,16 @@ static const u8 mt7996_if_types_ext_capa[] = {
+@@ -68,16 +75,16 @@ static const u8 mt7996_if_types_ext_capa[] = {
  static const struct wiphy_iftype_ext_capab mt7996_iftypes_ext_capa[] = {
  	{
  		.iftype = NL80211_IFTYPE_STATION,
@@ -60,7 +60,7 @@
  		.eml_capabilities = IEEE80211_EML_CAP_EMLSR_SUPP,
  		.mld_capa_and_ops = 2,
  		/* the max number of simultaneous links is defined as the
-@@ -1593,6 +1600,10 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
+@@ -1590,6 +1597,10 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
  		u8_encode_bits(IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_11454,
  			       IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_MASK);
  
@@ -72,7 +72,7 @@
  		IEEE80211_EHT_PHY_CAP0_NDP_4_EHT_LFT_32_GI |
  		IEEE80211_EHT_PHY_CAP0_SU_BEAMFORMER |
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 8b7486a1..8f8cd7ae 100644
+index 8b7486a..8f8cd7a 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -525,6 +525,9 @@ struct csi_data {
@@ -86,7 +86,7 @@
  
  struct mt7996_rro_ba_session {
 diff --git a/mt7996/mtk_mcu.c b/mt7996/mtk_mcu.c
-index 8bacf29d..9ec4bc9a 100644
+index 8bacf29..9ec4bc9 100644
 --- a/mt7996/mtk_mcu.c
 +++ b/mt7996/mtk_mcu.c
 @@ -1429,4 +1429,53 @@ int mt7996_set_coding_type(struct ieee80211_hw *hw, u8 coding_type, u8 link_id)
@@ -144,7 +144,7 @@
 +}
  #endif
 diff --git a/mt7996/mtk_mcu.h b/mt7996/mtk_mcu.h
-index 8ba261a7..711903e0 100644
+index 8ba261a..711903e 100644
 --- a/mt7996/mtk_mcu.h
 +++ b/mt7996/mtk_mcu.h
 @@ -134,6 +134,7 @@ enum {
@@ -167,7 +167,7 @@
 +
  #endif
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index e75c163e..e13a148a 100644
+index e75c163..e13a148 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -132,6 +132,17 @@ eml_ctrl_policy[NUM_MTK_VENDOR_ATTRS_EML_CTRL] = {
@@ -271,7 +271,7 @@
  
  static const struct nl80211_vendor_cmd_info mt7996_vendor_events[] = {
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 515f77a6..71800590 100644
+index 515f77a..7180059 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -19,6 +19,7 @@ enum mtk_nl80211_vendor_subcmds {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0178-mtk-mt76-mt7996-add-per-band-token-limit.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0178-mtk-mt76-mt7996-add-per-band-token-limit.patch
index 883ab46..273498b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0178-mtk-mt76-mt7996-add-per-band-token-limit.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0178-mtk-mt76-mt7996-add-per-band-token-limit.patch
@@ -1,7 +1,7 @@
-From 0d130b8ba58d84007b12bd6984b94b756c5d6d3b Mon Sep 17 00:00:00 2001
+From 9ea195f63990ccc4925cf5f75f730eac744cda95 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Tue, 30 Jul 2024 19:49:39 +0800
-Subject: [PATCH 178/223] mtk: mt76: mt7996: add per-band token limit
+Subject: [PATCH 178/193] mtk: mt76: mt7996: add per-band token limit
 
 Add a threshold for per-band token count.
 The bands use the same token pool so a band cannot transmit if
@@ -21,7 +21,7 @@
  6 files changed, 40 insertions(+), 7 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 14f409ba..5d7b8c4c 100644
+index 14f409b..5d7b8c4 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -468,6 +468,7 @@ struct mt76_txwi_cache {
@@ -59,10 +59,10 @@
  struct mt76_rxwi_cache *mt76_rx_token_release(struct mt76_dev *dev, int token);
  int mt76_rx_token_consume(struct mt76_dev *dev, void *ptr,
 diff --git a/mt7996/init.c b/mt7996/init.c
-index ae86c0eb..6e8791c8 100644
+index 3978560..e9e2ca1 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1790,6 +1790,8 @@ int mt7996_register_device(struct mt7996_dev *dev)
+@@ -1787,6 +1787,8 @@ int mt7996_register_device(struct mt7996_dev *dev)
  	if (ret)
  		return ret;
  
@@ -72,7 +72,7 @@
  	if (ret)
  		goto error;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 295bff24..ac51e27d 100644
+index 295bff2..ac51e27 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -971,7 +971,7 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
@@ -97,7 +97,7 @@
  	spin_unlock_bh(&dev->mt76.token_lock);
  	idr_destroy(&dev->mt76.token);
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 8f8cd7ae..38f62d89 100644
+index 8f8cd7a..38f62d8 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -78,6 +78,7 @@
@@ -109,7 +109,7 @@
  #define MT7996_CFEND_RATE_DEFAULT	0x49	/* OFDM 24M */
  #define MT7996_CFEND_RATE_11B		0x03	/* 11B LP, 11M */
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 78450935..96a4a514 100644
+index 7845093..96a4a51 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2400,7 +2400,7 @@ static int mt7996_sta_info(struct seq_file *s, void *data)
@@ -142,7 +142,7 @@
  	return 0;
  }
 diff --git a/tx.c b/tx.c
-index c9fda966..9bf43124 100644
+index e7aba9f..6f594fa 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -855,20 +855,29 @@ void __mt76_set_tx_blocked(struct mt76_dev *dev, bool blocked)
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0180-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0179-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch
similarity index 85%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0180-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0179-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch
index 7d1b622..3584105 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0180-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0179-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch
@@ -1,7 +1,7 @@
-From a8a7baa9433713f20bd0e8f6f78972097d0f0820 Mon Sep 17 00:00:00 2001
+From 100cc75f250acc3ade27c95a0e005390a5887b42 Mon Sep 17 00:00:00 2001
 From: Benjamin Lin <benjamin-jw.lin@mediatek.com>
 Date: Thu, 1 Aug 2024 09:11:02 +0800
-Subject: [PATCH 180/223] mtk: mt76: mt7996: record per-antenna average
+Subject: [PATCH 179/193] mtk: mt76: mt7996: record per-antenna average
  data-frame RSSI
 
 Record per-antenna average data-frame RSSI.
@@ -14,7 +14,7 @@
  3 files changed, 13 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index ac51e27d..58b462e8 100644
+index ac51e27..58b462e 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -494,10 +494,17 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
@@ -36,10 +36,10 @@
  
  		/* RXD Group 5 - C-RXV */
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 2b92b686..ed0f9154 100644
+index f3c55bc..2dbe4a3 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -1230,7 +1230,7 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
+@@ -1229,7 +1229,7 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
  	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
  	u8 link_id = link_sta->link_id;
  	struct mt7996_link_sta *mlink = NULL;
@@ -48,7 +48,7 @@
  
  	if (!rcu_access_pointer(msta->link[link_id])) {
  		idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7996_WTBL_STA);
-@@ -1298,6 +1298,9 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
+@@ -1297,6 +1297,9 @@ static int mt7996_add_link_sta(struct mt7996_dev *dev,
  			goto error;
  	}
  
@@ -59,7 +59,7 @@
  
  	return 0;
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 38f62d89..59f0be0a 100644
+index 38f62d8..59f0be0 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -321,6 +321,8 @@ struct mt7996_link_sta {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0179-mtk-mt76-sync-with-upstream-changes.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0179-mtk-mt76-sync-with-upstream-changes.patch
deleted file mode 100644
index 07714b3..0000000
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0179-mtk-mt76-sync-with-upstream-changes.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From dd6e1e68ae6daf98e724d37d7fb099f2b825b094 Mon Sep 17 00:00:00 2001
-From: Shayne Chen <shayne.chen@mediatek.com>
-Date: Wed, 31 Jul 2024 11:19:53 +0800
-Subject: [PATCH 179/223] mtk: mt76: sync with upstream changes
-
-Change-Id: I0d1b5ad073e0e2b6f74fca5e800f0b3365151814
-Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
----
- mt7996/mcu.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index c6b6f405..47f8b5cc 100644
---- a/mt7996/mcu.c
-+++ b/mt7996/mcu.c
-@@ -426,7 +426,7 @@ mt7996_mcu_rx_radar_detected(struct mt7996_dev *dev, struct sk_buff *skb)
- 						&dev->rdd2_chandef,
- 						GFP_ATOMIC);
- 	} else {
--		ieee80211_radar_detected(mphy->hw);
-+		ieee80211_radar_detected(mphy->hw, NULL);
- 	}
- 	dev->hw_pattern++;
- }
--- 
-2.45.2
-
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0181-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0180-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch
similarity index 77%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0181-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0180-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch
index e78c343..48f6801 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0181-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0180-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch
@@ -1,7 +1,7 @@
-From f8be713871266a7834ad070e6ed737ddc51aeb92 Mon Sep 17 00:00:00 2001
+From b2870f1c814259b362f1c363fd9e6b5600a101cf Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Mon, 5 Aug 2024 14:54:43 +0800
-Subject: [PATCH 181/223] mtk: mt76: mt7996: remove default bss_conf when link
+Subject: [PATCH 180/193] mtk: mt76: mt7996: remove default bss_conf when link
  becomes MLD
 
 Change-Id: I192aab47adfa038f0ca9320cd5840f1e624a618d
@@ -11,10 +11,10 @@
  1 file changed, 6 insertions(+)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index ed0f9154..7678059b 100644
+index 2dbe4a3..938e8c8 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -3128,6 +3128,12 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -3127,6 +3127,12 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	}
  
  	if (!old_links) {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0182-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0181-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch
similarity index 80%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0182-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0181-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch
index c7a101e..09d4b05 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0182-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0181-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch
@@ -1,7 +1,7 @@
-From 582927a3040724713a313cd346dd8f63c907c044 Mon Sep 17 00:00:00 2001
+From 356f29e586897090b81b4dd87076b8b07de1a96c Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Mon, 5 Aug 2024 14:55:10 +0800
-Subject: [PATCH 182/223] mtk: mt76: mt7996: pass vif->cfg.assoc to
+Subject: [PATCH 181/193] mtk: mt76: mt7996: pass vif->cfg.assoc to
  mt7996_mac_sta_add_links
 
 Link management functions might leverage mt7996_change_sta_links to
@@ -15,10 +15,10 @@
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 7678059b..7d4352c7 100644
+index 938e8c8..61c065a 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -3161,6 +3161,7 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -3160,6 +3160,7 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	unsigned long add = new_links & ~old_links;
  	unsigned long rem = old_links & ~new_links;
  	int ret = 0;
@@ -26,7 +26,7 @@
  
  	mt76_vif_dbg(vif, "STA %pM old=0x%x, new=0x%x\n", sta->addr, old_links, new_links);
  	mutex_lock(&dev->mt76.mutex);
-@@ -3174,7 +3175,8 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -3173,7 +3174,8 @@ mt7996_change_sta_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		/* 	goto remove; */
  	}
  
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0183-mtk-mt76-mt7996-separate-hwrro-from-wed.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0182-mtk-mt76-mt7996-separate-hwrro-from-wed.patch
similarity index 96%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0183-mtk-mt76-mt7996-separate-hwrro-from-wed.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0182-mtk-mt76-mt7996-separate-hwrro-from-wed.patch
index a037dff..36576ab 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0183-mtk-mt76-mt7996-separate-hwrro-from-wed.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0182-mtk-mt76-mt7996-separate-hwrro-from-wed.patch
@@ -1,7 +1,7 @@
-From 1d7510d986c174a852a91d51415019538c4bd95b Mon Sep 17 00:00:00 2001
+From c43d67fb45091ce36aae1f3096a5b8c6cdd46891 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Tue, 6 Aug 2024 10:06:10 +0800
-Subject: [PATCH 183/223] mtk: mt76: mt7996: separate hwrro from wed
+Subject: [PATCH 182/193] mtk: mt76: mt7996: separate hwrro from wed
 
 1. separate hwrro from wed
 2. support mt7996/mt7992 run hwrro 3.0 without wed
@@ -22,7 +22,7 @@
  11 files changed, 617 insertions(+), 76 deletions(-)
 
 diff --git a/dma.c b/dma.c
-index 81e76191..7598823a 100644
+index 81e7619..7598823 100644
 --- a/dma.c
 +++ b/dma.c
 @@ -231,7 +231,7 @@ mt76_dma_add_rx_buf(struct mt76_dev *dev, struct mt76_queue *q,
@@ -205,7 +205,7 @@
  	.rx_reset = mt76_dma_rx_reset,
  	.kick = mt76_dma_kick_queue,
 diff --git a/dma.h b/dma.h
-index 718122d5..393be98a 100644
+index 718122d..393be98 100644
 --- a/dma.h
 +++ b/dma.h
 @@ -31,8 +31,12 @@
@@ -223,7 +223,7 @@
  #define MT_DMA_WED_IND_REASON		GENMASK(15, 12)
  
 diff --git a/mac80211.c b/mac80211.c
-index 6190822c..d87aba36 100644
+index 6190822..d87aba3 100644
 --- a/mac80211.c
 +++ b/mac80211.c
 @@ -732,6 +732,7 @@ static void mt76_rx_release_amsdu(struct mt76_phy *phy, enum mt76_rxq_id q)
@@ -246,7 +246,7 @@
  }
  
 diff --git a/mt76.h b/mt76.h
-index 5d7b8c4c..50d52776 100644
+index 5d7b8c4..50d5277 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -277,6 +277,7 @@ struct mt76_queue {
@@ -311,7 +311,7 @@
  
  struct mt76_txwi_cache *
 diff --git a/mt7996/dma.c b/mt7996/dma.c
-index bbc3814d..e4b0af29 100644
+index bbc3814..e4b0af2 100644
 --- a/mt7996/dma.c
 +++ b/mt7996/dma.c
 @@ -300,7 +300,7 @@ void mt7996_dma_start(struct mt7996_dev *dev, bool reset, bool wed_reset)
@@ -482,10 +482,10 @@
  
  	if (!force)
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 6e8791c8..ddceddff 100644
+index e9e2ca1..9f80143 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -931,7 +931,6 @@ void mt7996_wfsys_reset(struct mt7996_dev *dev)
+@@ -928,7 +928,6 @@ void mt7996_wfsys_reset(struct mt7996_dev *dev)
  
  void mt7996_rro_hw_init(struct mt7996_dev *dev)
  {
@@ -493,7 +493,7 @@
  	struct mtk_wed_device *wed = &dev->mt76.mmio.wed;
  	u32 reg = MT_RRO_ADDR_ELEM_SEG_ADDR0;
  	int i;
-@@ -939,6 +938,10 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
+@@ -936,6 +935,10 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
  	if (!dev->has_rro)
  		return;
  
@@ -504,7 +504,7 @@
  	if (is_mt7992(&dev->mt76)) {
  		/* set emul 3.0 function */
  		mt76_wr(dev, MT_RRO_3_0_EMU_CONF,
-@@ -947,9 +950,6 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
+@@ -944,9 +947,6 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
  		mt76_wr(dev, MT_RRO_ADDR_ARRAY_BASE0,
  			dev->wed_rro.addr_elem[0].phy_addr);
  	} else {
@@ -514,7 +514,7 @@
  
  		/* TODO: remove line after WM has set */
  		mt76_clear(dev, WF_RRO_AXI_MST_CFG, WF_RRO_AXI_MST_CFG_DIDX_OK);
-@@ -972,18 +972,24 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
+@@ -969,18 +969,24 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
  		mt76_wr(dev, MT_RRO_ADDR_ARRAY_BASE1,
  			MT_RRO_ADDR_ARRAY_ELEM_ADDR_SEG_MODE);
  	}
@@ -550,7 +550,7 @@
  
  	/* particular session configure */
  	/* use max session idx + 1 as particular session id */
-@@ -1012,12 +1018,10 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
+@@ -1009,12 +1015,10 @@ void mt7996_rro_hw_init(struct mt7996_dev *dev)
  	mt76_wr(dev, MT_RRO_HOST_INT_ENA,
  		MT_RRO_HOST_INT_ENA_HOST_RRO_DONE_ENA);
  
@@ -563,7 +563,7 @@
  	struct mtk_wed_device *wed = &dev->mt76.mmio.wed;
  	struct mt7996_wed_rro_addr *addr;
  	void *ptr;
-@@ -1026,9 +1030,6 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
+@@ -1023,9 +1027,6 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
  	if (!dev->has_rro)
  		return 0;
  
@@ -573,7 +573,7 @@
  	for (i = 0; i < ARRAY_SIZE(dev->wed_rro.ba_bitmap); i++) {
  		ptr = dmam_alloc_coherent(dev->mt76.dma_dev,
  					  MT7996_RRO_BA_BITMAP_CR_SIZE,
-@@ -1059,9 +1060,8 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
+@@ -1056,9 +1057,8 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
  			addr->signature = 0xff;
  			addr++;
  		}
@@ -585,7 +585,7 @@
  	}
  
  	for (i = 0; i < MT7996_RRO_MSDU_PG_CR_CNT; i++) {
-@@ -1093,22 +1093,15 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
+@@ -1090,22 +1090,15 @@ static int mt7996_wed_rro_init(struct mt7996_dev *dev)
  	mt7996_rro_hw_init(dev);
  
  	return mt7996_dma_rro_init(dev);
@@ -608,7 +608,7 @@
  	for (i = 0; i < ARRAY_SIZE(dev->wed_rro.ba_bitmap); i++) {
  		if (!dev->wed_rro.ba_bitmap[i].ptr)
  			continue;
-@@ -1148,12 +1141,10 @@ static void mt7996_wed_rro_free(struct mt7996_dev *dev)
+@@ -1145,12 +1138,10 @@ static void mt7996_wed_rro_free(struct mt7996_dev *dev)
  			   sizeof(struct mt7996_wed_rro_addr),
  			   dev->wed_rro.session.ptr,
  			   dev->wed_rro.session.phy_addr);
@@ -621,7 +621,7 @@
  	struct mt7996_dev *dev;
  	LIST_HEAD(list);
  
-@@ -1196,7 +1187,6 @@ reset:
+@@ -1193,7 +1184,6 @@ reset:
  out:
  		kfree(e);
  	}
@@ -629,7 +629,7 @@
  }
  
  static int mt7996_variant_type_init(struct mt7996_dev *dev)
-@@ -1848,6 +1838,10 @@ void mt7996_unregister_device(struct mt7996_dev *dev)
+@@ -1845,6 +1835,10 @@ void mt7996_unregister_device(struct mt7996_dev *dev)
  	mt7996_mcu_exit(dev);
  	mt7996_tx_token_put(dev);
  	mt7996_dma_cleanup(dev);
@@ -641,7 +641,7 @@
  
  	mt76_free_device(&dev->mt76);
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 58b462e8..b0b664e7 100644
+index 58b462e..b0b664e 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -1517,6 +1517,387 @@ void mt7996_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
@@ -1054,7 +1054,7 @@
  					    true);
  
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index ee5ee5a5..c84c1bbb 100644
+index ee5ee5a..c84c1bb 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -654,6 +654,8 @@ struct mt7996_dev *mt7996_mmio_probe(struct device *pdev,
@@ -1067,7 +1067,7 @@
  		.sta_event = mt7996_mac_sta_event,
  		.sta_remove = mt7996_mac_sta_remove,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 59f0be0a..b115e7dd 100644
+index 59f0be0..b115e7d 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -104,6 +104,7 @@
@@ -1152,7 +1152,7 @@
  void mt7996_stats_work(struct work_struct *work);
  void mt7996_scan_work(struct work_struct *work);
 diff --git a/mt7996/pci.c b/mt7996/pci.c
-index 382b6a89..a010680f 100644
+index 382b6a8..a010680 100644
 --- a/mt7996/pci.c
 +++ b/mt7996/pci.c
 @@ -13,6 +13,9 @@
@@ -1174,7 +1174,7 @@
  	mt7996_wfsys_reset(dev);
  	hif2 = mt7996_pci_init_hif2(pdev);
 diff --git a/mt7996/regs.h b/mt7996/regs.h
-index a0b57e59..e86d5df3 100644
+index a0b57e5..e86d5df 100644
 --- a/mt7996/regs.h
 +++ b/mt7996/regs.h
 @@ -561,6 +561,7 @@ enum offs_rev {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0184-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0183-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch
similarity index 83%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0184-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0183-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch
index 858e4c2..dd9fbed 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0184-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0183-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch
@@ -1,7 +1,7 @@
-From 986d45c9ebf4793cababd01b338ff9a6b90ba449 Mon Sep 17 00:00:00 2001
+From c3cb6f7a94e2fdff60d5fd7f9446f0b7715000e6 Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Mon, 5 Aug 2024 14:56:19 +0800
-Subject: [PATCH 184/223] mtk: mt76: mt7996: ignore vif.dormant_links in
+Subject: [PATCH 183/193] mtk: mt76: mt7996: ignore vif.dormant_links in
  mt7996_change_vif_links
 
 The dormant links are disabled for reasons like TTLM, and might become
@@ -14,10 +14,10 @@
  1 file changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 7d4352c7..a7c2043f 100644
+index 61c065a..10cfd93 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -3106,11 +3106,12 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -3105,11 +3105,12 @@ mt7996_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  	struct mt7996_dev *dev = mt7996_hw_dev(hw);
  	struct mt7996_phy *phy = mt7996_hw_phy(hw);
  	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0185-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0184-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch
similarity index 92%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0185-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0184-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch
index 7a046ae..d155953 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0185-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0184-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch
@@ -1,7 +1,7 @@
-From cbe2fdac92d74596b378fbdc027434210d31d88b Mon Sep 17 00:00:00 2001
+From 34de6317753746b67f335d3da31f46b70d505afb Mon Sep 17 00:00:00 2001
 From: Michael-CY Lee <michael-cy.lee@mediatek.com>
 Date: Mon, 5 Aug 2024 15:03:55 +0800
-Subject: [PATCH 185/223] mtk: mt76: mt7996: add Adv-TTLM support for STA
+Subject: [PATCH 184/193] mtk: mt76: mt7996: add Adv-TTLM support for STA
 
 1. add the handling for valid_link and TTLM changing in vif_cfg_changed
    callback.
@@ -19,7 +19,7 @@
  5 files changed, 92 insertions(+)
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 69c8389f..68d7c31d 100644
+index 69c8389..68d7c31 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1327,6 +1327,7 @@ enum {
@@ -31,10 +31,10 @@
  
  enum {
 diff --git a/mt7996/main.c b/mt7996/main.c
-index a7c2043f..290dff6e 100644
+index 10cfd93..eb364dc 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -957,6 +957,9 @@ static void mt7996_vif_cfg_changed(struct ieee80211_hw *hw,
+@@ -956,6 +956,9 @@ static void mt7996_vif_cfg_changed(struct ieee80211_hw *hw,
  		}
  	}
  
@@ -45,7 +45,7 @@
  }
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 47f8b5cc..265f39a6 100644
+index 4919267..2fef4ea 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -3623,6 +3623,70 @@ int mt7996_mcu_mld_set_attlm(struct mt7996_dev *dev, struct ieee80211_vif *vif,
@@ -120,7 +120,7 @@
  mt7996_mcu_beacon_cntdwn(struct ieee80211_bss_conf *conf, struct sk_buff *rskb,
  			 struct sk_buff *skb,
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index a5818f95..dab4700e 100644
+index a5818f9..dab4700 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1244,6 +1244,28 @@ enum {
@@ -153,7 +153,7 @@
  	u8 _rsv[4];
  
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index b115e7dd..1e52377a 100644
+index b115e7d..1e52377 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1215,6 +1215,8 @@ int mt7996_mcu_set_vow_feature_ctrl(struct mt7996_phy *phy);
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0186-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0185-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch
similarity index 97%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0186-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0185-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch
index ddc45f4..18ee76e 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0186-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0185-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch
@@ -1,7 +1,7 @@
-From 4f43eb23f373930534372c1b82787f2da37c940d Mon Sep 17 00:00:00 2001
+From 2daaeb2a795d53cd7d04a3007ae032f1c5b6addd Mon Sep 17 00:00:00 2001
 From: Allen Ye <allen.ye@mediatek.com>
 Date: Thu, 1 Aug 2024 11:25:03 +0800
-Subject: [PATCH 186/223] mtk: mt76: mt7996: Add AFC and lpi power support
+Subject: [PATCH 185/193] mtk: mt76: mt7996: Add AFC and lpi power support
 
 This patch receiving and storing the power table from hostapd vendor cmd.
 The power table would be use to compare the sku table in standard power
@@ -41,7 +41,7 @@
  9 files changed, 429 insertions(+), 25 deletions(-)
 
 diff --git a/mt76.h b/mt76.h
-index 50d52776..a465785f 100644
+index 50d5277..a465785 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -1078,6 +1078,8 @@ struct mt76_dev {
@@ -54,7 +54,7 @@
  #ifdef CONFIG_NL80211_TESTMODE
  	const struct mt76_testmode_ops *test_ops;
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index b0b664e7..5d40b8f1 100644
+index b0b664e..5d40b8f 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -908,7 +908,7 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
@@ -67,10 +67,10 @@
  			val |= FIELD_PREP(MT_TXD6_BW, FW_CDBW_80MHZ);
  		txwi[6] |= cpu_to_le32(val);
 diff --git a/mt7996/main.c b/mt7996/main.c
-index 290dff6e..812d8269 100644
+index eb364dc..6041bb4 100644
 --- a/mt7996/main.c
 +++ b/mt7996/main.c
-@@ -891,7 +891,7 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
+@@ -890,7 +890,7 @@ mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_bss_conf *conf,
  
  		if (dev->cert_mode && phy->mt76->band_idx == MT_BAND2)
  			rate = 0x0200;
@@ -80,7 +80,7 @@
  
  		/* odd index for driver, even index for firmware */
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 265f39a6..725f2f31 100644
+index 2fef4ea..dce180f 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -6384,7 +6384,8 @@ int mt7996_mcu_set_fixed_rate_table(struct mt7996_phy *phy, u8 table_idx,
@@ -322,7 +322,7 @@
  {
  	__le32 cp_mode;
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index dab4700e..33ba3774 100644
+index dab4700..33ba377 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -1295,6 +1295,145 @@ enum {
@@ -472,7 +472,7 @@
  	UNI_CMD_ACCESS_REG_BASIC = 0x0,
  	UNI_CMD_ACCESS_RF_REG_BASIC,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index 1e52377a..b841cc2a 100644
+index 1e52377..b841cc2 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -1174,6 +1174,8 @@ int mt7996_mcu_set_thermal_throttling(struct mt7996_phy *phy, u8 state);
@@ -485,7 +485,7 @@
  		       u8 rx_sel, u8 val);
  int mt7996_mcu_rdd_background_disable_timer(struct mt7996_dev *dev,
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 96a4a514..5338d0bd 100644
+index 96a4a51..5338d0b 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2522,6 +2522,11 @@ mt7996_get_txpower_info(struct file *file, char __user *user_buf,
@@ -547,7 +547,7 @@
  
  #endif
 diff --git a/mt7996/vendor.c b/mt7996/vendor.c
-index e13a148a..867c277d 100644
+index e13a148..867c277 100644
 --- a/mt7996/vendor.c
 +++ b/mt7996/vendor.c
 @@ -162,6 +162,8 @@ txpower_ctrl_policy[NUM_MTK_VENDOR_ATTRS_TXPOWER_CTRL] = {
@@ -700,7 +700,7 @@
  
  static const struct wiphy_vendor_command mt7996_vendor_commands[] = {
 diff --git a/mt7996/vendor.h b/mt7996/vendor.h
-index 71800590..cd84a492 100644
+index 7180059..cd84a49 100644
 --- a/mt7996/vendor.h
 +++ b/mt7996/vendor.h
 @@ -338,12 +338,15 @@ enum mtk_vendor_attr_txpower_ctrl {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0186-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
similarity index 81%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0186-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
index 059a790..e1a30a2 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0186-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
@@ -1,7 +1,7 @@
-From 6bd9e4f92817c054a87abc52b59b20219585aff4 Mon Sep 17 00:00:00 2001
+From 5e93bc87cfd7465cca293e65daa73230d1a63dbc Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Tue, 13 Aug 2024 18:55:00 +0800
-Subject: [PATCH 187/223] mtk: mt76: do not report ACK when TXS is lost
+Subject: [PATCH 186/193] mtk: mt76: do not report ACK when TXS is lost
 
 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
 ---
@@ -9,7 +9,7 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/tx.c b/tx.c
-index 9bf43124..d002cf6d 100644
+index 6f594fa..a6b8c8f 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -100,7 +100,8 @@ __mt76_tx_status_skb_done(struct mt76_dev *dev, struct sk_buff *skb, u8 flags,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0188-mtk-mt76-mt7996-fix-ldpc-setting.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-mt7996-fix-ldpc-setting.patch
similarity index 86%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0188-mtk-mt76-mt7996-fix-ldpc-setting.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-mt7996-fix-ldpc-setting.patch
index 9f0d62e..1f0e71b 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0188-mtk-mt76-mt7996-fix-ldpc-setting.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-mt7996-fix-ldpc-setting.patch
@@ -1,7 +1,7 @@
-From 1e59567d865e9e23c193919f8ce2d84e8d4d52f5 Mon Sep 17 00:00:00 2001
+From 8e8a814bc421411bcfe636f81a35e0993b4e6281 Mon Sep 17 00:00:00 2001
 From: Peter Chiu <chui-hao.chiu@mediatek.com>
 Date: Wed, 28 Aug 2024 13:58:30 +0800
-Subject: [PATCH 188/223] mtk: mt76: mt7996: fix ldpc setting
+Subject: [PATCH 187/193] mtk: mt76: mt7996: fix ldpc setting
 
 The non-AP interfaces would not update conf->vht_ldpc so they never set
 STA_CAP_VHT_LDPC even if peer-station support LDPC.
@@ -16,7 +16,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 725f2f31..b0e9617d 100644
+index dce180f..6d4765b 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -2994,7 +2994,7 @@ mt7996_mcu_sta_rate_ctrl_tlv(struct sk_buff *skb, struct mt7996_dev *dev,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0189-mtk-mt76-mt7996-add-external-eeprom-support.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0188-mtk-mt76-mt7996-add-external-eeprom-support.patch
similarity index 96%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0189-mtk-mt76-mt7996-add-external-eeprom-support.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0188-mtk-mt76-mt7996-add-external-eeprom-support.patch
index 54d2da6..61dedbf 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0189-mtk-mt76-mt7996-add-external-eeprom-support.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0188-mtk-mt76-mt7996-add-external-eeprom-support.patch
@@ -1,7 +1,7 @@
-From 47862d9e7019f0e7524beb819bc875404cf687bd Mon Sep 17 00:00:00 2001
+From 2e68a34aa076b06b96614e3a1db37967909d8f2c Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 22 Aug 2024 23:22:46 +0800
-Subject: [PATCH 189/223] mtk: mt76: mt7996: add external eeprom support
+Subject: [PATCH 188/193] mtk: mt76: mt7996: add external eeprom support
 
 Add external eeprom support
 For Kite and Griffin, efuse mode is not supported due to the lack of
@@ -33,7 +33,7 @@
  13 files changed, 277 insertions(+), 68 deletions(-)
 
 diff --git a/debugfs.c b/debugfs.c
-index ac5207e5..2ded5c03 100644
+index ac5207e..2ded5c0 100644
 --- a/debugfs.c
 +++ b/debugfs.c
 @@ -121,6 +121,8 @@ mt76_register_debugfs_fops(struct mt76_phy *phy,
@@ -46,7 +46,7 @@
  				    mt76_rx_queues_read);
  
 diff --git a/mt76.h b/mt76.h
-index a465785f..c319ba26 100644
+index a465785..c319ba2 100644
 --- a/mt76.h
 +++ b/mt76.h
 @@ -1065,6 +1065,7 @@ struct mt76_dev {
@@ -58,7 +58,7 @@
  	char alpha2[3];
  	enum nl80211_dfs_regions region;
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 68d7c31d..25d5f9f9 100644
+index 68d7c31..25d5f9f 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1325,6 +1325,7 @@ enum {
@@ -70,7 +70,7 @@
  	MCU_UNI_CMD_MLD = 0x82,
  	MCU_UNI_CMD_PEER_MLD = 0x83,
 diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
-index 240c6d46..d06fb587 100644
+index 240c6d4..d06fb58 100644
 --- a/mt7996/debugfs.c
 +++ b/mt7996/debugfs.c
 @@ -972,7 +972,9 @@ mt7996_efuse_get(struct file *file, char __user *user_buf,
@@ -152,7 +152,7 @@
  	                            mt7996_vow_info_read);
  	debugfs_create_devm_seqfile(dev->mt76.dev, "airtime", dir,
 diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
-index 327a36b2..db98db21 100644
+index 327a36b..db98db2 100644
 --- a/mt7996/eeprom.c
 +++ b/mt7996/eeprom.c
 @@ -315,43 +315,52 @@ static int mt7996_eeprom_load(struct mt7996_dev *dev)
@@ -222,7 +222,7 @@
  
  out:
 diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
-index 788c33c8..15b6620d 100644
+index 788c33c..15b6620 100644
 --- a/mt7996/eeprom.h
 +++ b/mt7996/eeprom.h
 @@ -151,13 +151,6 @@ enum mt7996_eeprom_band {
@@ -240,10 +240,10 @@
  mt7996_get_channel_group_5g(int channel)
  {
 diff --git a/mt7996/init.c b/mt7996/init.c
-index ddceddff..f739afd2 100644
+index 9f80143..604d015 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1238,7 +1238,8 @@ static int mt7996_variant_fem_init(struct mt7996_dev *dev)
+@@ -1235,7 +1235,8 @@ static int mt7996_variant_fem_init(struct mt7996_dev *dev)
  	if (ret)
  		return ret;
  
@@ -254,7 +254,7 @@
  		return ret;
  
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index b0e9617d..01969464 100644
+index 6d4765b..b584a0e 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5259,7 +5259,7 @@ int mt7996_mcu_set_eeprom_flash(struct mt7996_dev *dev)
@@ -431,7 +431,7 @@
  	struct {
  		u8 _rsv[4];
 diff --git a/mt7996/mcu.h b/mt7996/mcu.h
-index 33ba3774..f405b0cd 100644
+index 33ba377..f405b0c 100644
 --- a/mt7996/mcu.h
 +++ b/mt7996/mcu.h
 @@ -161,7 +161,7 @@ struct mt7996_mcu_background_chain_ctrl {
@@ -498,7 +498,7 @@
  	UNI_VOW_DRR_CTRL,
  	UNI_VOW_FEATURE_CTRL,
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index b841cc2a..a0f2f251 100644
+index b841cc2..e65d2a6 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -74,7 +74,8 @@
@@ -560,7 +560,7 @@
  int mt7996_mcu_set_ser(struct mt7996_dev *dev, u8 action, u8 set, u8 band);
  int mt7996_mcu_set_txbf(struct mt7996_dev *dev, u8 action);
 diff --git a/mt7996/mtk_debugfs.c b/mt7996/mtk_debugfs.c
-index 5338d0bd..4996774f 100644
+index 5338d0b..4996774 100644
 --- a/mt7996/mtk_debugfs.c
 +++ b/mt7996/mtk_debugfs.c
 @@ -2829,6 +2829,9 @@ static int mt7996_show_eeprom_mode(struct seq_file *s, void *data)
@@ -574,7 +574,7 @@
  		break;
  	}
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index 1674e129..b3692637 100644
+index 1674e12..b369263 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -2138,37 +2138,43 @@ mt7996_tm_write_back_to_efuse(struct mt7996_dev *dev)
@@ -647,7 +647,7 @@
  		break;
  	}
 diff --git a/testmode.h b/testmode.h
-index 44f9984c..8e751bbf 100644
+index 44f9984..8e751bb 100644
 --- a/testmode.h
 +++ b/testmode.h
 @@ -281,11 +281,13 @@ enum mt76_testmode_tx_mode {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0190-mtk-mt76-mt7996-add-efuse-write-protection.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0189-mtk-mt76-mt7996-add-efuse-write-protection.patch
similarity index 97%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0190-mtk-mt76-mt7996-add-efuse-write-protection.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0189-mtk-mt76-mt7996-add-efuse-write-protection.patch
index 72a2d92..2ee41ed 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0190-mtk-mt76-mt7996-add-efuse-write-protection.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0189-mtk-mt76-mt7996-add-efuse-write-protection.patch
@@ -1,7 +1,7 @@
-From 617b4824df541129e545daa0015d43d2e625350b Mon Sep 17 00:00:00 2001
+From 5bdd94800111ac1742558a5d6e8b9daae0c24e79 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 29 Aug 2024 09:47:44 +0800
-Subject: [PATCH 190/223] mtk: mt76: mt7996: add efuse write protection
+Subject: [PATCH 189/193] mtk: mt76: mt7996: add efuse write protection
 
 Add efuse write protection in case that the user overwritten
 the FT value stored in efuse.
@@ -19,7 +19,7 @@
  4 files changed, 157 insertions(+), 18 deletions(-)
 
 diff --git a/mt7996/mcu.c b/mt7996/mcu.c
-index 01969464..b27b74d3 100644
+index b584a0e..cd10ee9 100644
 --- a/mt7996/mcu.c
 +++ b/mt7996/mcu.c
 @@ -5115,13 +5115,6 @@ static int mt7996_mcu_set_cal_free_data(struct mt7996_dev *dev)
@@ -50,7 +50,7 @@
  	static const u16 *adie_offs[__MT_MAX_BAND];
  	static const u16 *eep_offs[__MT_MAX_BAND];
 diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
-index a0f2f251..592b3673 100644
+index e65d2a6..ddc44de 100644
 --- a/mt7996/mt7996.h
 +++ b/mt7996/mt7996.h
 @@ -180,6 +180,29 @@ enum mt7996_eeprom_mode {
@@ -84,7 +84,7 @@
  	MT7996_COREDUMP_IDLE = 0,
  	MT7996_COREDUMP_MANUAL_WA,
 diff --git a/mt7996/testmode.c b/mt7996/testmode.c
-index b3692637..6f9900a6 100644
+index b369263..6e1cfcf 100644
 --- a/mt7996/testmode.c
 +++ b/mt7996/testmode.c
 @@ -2133,6 +2133,127 @@ mt7996_tm_dump_stats(struct mt76_phy *mphy, struct sk_buff *msg)
@@ -252,7 +252,7 @@
  		ret = mt76_mcu_skb_send_msg(&dev->mt76, skb,
  					    MCU_WM_UNI_CMD(EFUSE_CTRL), true);
 diff --git a/mt7996/testmode.h b/mt7996/testmode.h
-index 5c720da7..154392dc 100644
+index 5c720da..154392d 100644
 --- a/mt7996/testmode.h
 +++ b/mt7996/testmode.h
 @@ -363,4 +363,10 @@ struct mt7996_tm_rdd_ipi_ctrl {
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0191-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0190-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch
similarity index 88%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0191-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0190-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch
index d5c42df..1107cee 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0191-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0190-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch
@@ -1,7 +1,7 @@
-From eaaf030c560747704321c51c00e275da3d7a8217 Mon Sep 17 00:00:00 2001
+From 7ecb70d316fc12dacebec431d4349a44e72e49ea Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Tue, 3 Sep 2024 15:36:56 +0800
-Subject: [PATCH 191/223] mtk: mt76: mt7996: fix the capability of reception of
+Subject: [PATCH 190/193] mtk: mt76: mt7996: fix the capability of reception of
  EHT MU PPDU
 
 This commit includes two changes. First, enable "EHT MU PPDU With 4x
@@ -11,16 +11,15 @@
 Bit 3-4 was incorrect.
 
 Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com>
-
 ---
  mt7996/init.c | 5 ++---
  1 file changed, 2 insertions(+), 3 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index f739afd2..2db4b3b5 100644
+index 604d015..00a7c8c 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1636,21 +1636,20 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
+@@ -1633,21 +1633,20 @@ mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
  		IEEE80211_EHT_PHY_CAP3_CODEBOOK_7_5_MU_FDBK;
  
  	eht_cap_elem->phy_cap_info[4] =
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0192-mtk-mt76-mt7996-fix-HE-Phy-capability.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0191-mtk-mt76-mt7996-fix-HE-Phy-capability.patch
similarity index 81%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0192-mtk-mt76-mt7996-fix-HE-Phy-capability.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0191-mtk-mt76-mt7996-fix-HE-Phy-capability.patch
index a9f0fad..1e40546 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0192-mtk-mt76-mt7996-fix-HE-Phy-capability.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0191-mtk-mt76-mt7996-fix-HE-Phy-capability.patch
@@ -1,22 +1,21 @@
-From d46fc9a7335c94d5be16414e8898122d23c74b47 Mon Sep 17 00:00:00 2001
+From 6667bcec944bcd4dc47ef8ab5a4e1772d5d16a18 Mon Sep 17 00:00:00 2001
 From: Howard Hsu <howard-yh.hsu@mediatek.com>
 Date: Wed, 4 Sep 2024 13:44:32 +0800
-Subject: [PATCH 192/223] mtk: mt76: mt7996: fix HE Phy capability
+Subject: [PATCH 191/193] mtk: mt76: mt7996: fix HE Phy capability
 
 Set HE SU PPDU And HE MU PPDU With 4x HE-LTF And 0.8 us GI within HE PHY
 Capabilities element as 1 since hardware can support.
 
 Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com>
-
 ---
  mt7996/init.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/mt7996/init.c b/mt7996/init.c
-index 2db4b3b5..6c8a9b48 100644
+index 00a7c8c..da272b1 100644
 --- a/mt7996/init.c
 +++ b/mt7996/init.c
-@@ -1477,6 +1477,9 @@ mt7996_init_he_caps(struct mt7996_phy *phy, enum nl80211_band band,
+@@ -1474,6 +1474,9 @@ mt7996_init_he_caps(struct mt7996_phy *phy, enum nl80211_band band,
  	he_cap_elem->phy_cap_info[2] = IEEE80211_HE_PHY_CAP2_STBC_TX_UNDER_80MHZ |
  				       IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ;
  
@@ -26,7 +25,7 @@
  	switch (iftype) {
  	case NL80211_IFTYPE_AP:
  		he_cap_elem->mac_cap_info[0] |= IEEE80211_HE_MAC_CAP0_TWT_RES;
-@@ -1516,8 +1519,7 @@ mt7996_init_he_caps(struct mt7996_phy *phy, enum nl80211_band band,
+@@ -1513,8 +1516,7 @@ mt7996_init_he_caps(struct mt7996_phy *phy, enum nl80211_band band,
  			IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE |
  			IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT;
  		he_cap_elem->phy_cap_info[7] |=
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0193-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0192-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch
similarity index 85%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0193-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0192-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch
index 089bba0..112f759 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0193-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0192-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch
@@ -1,7 +1,7 @@
-From e70e972add40eb5db6463cf156ae19b8dc9bc67c Mon Sep 17 00:00:00 2001
+From b3c56d88281c0bf3838c3c35b283a98fc689aa15 Mon Sep 17 00:00:00 2001
 From: Shayne Chen <shayne.chen@mediatek.com>
 Date: Thu, 5 Sep 2024 15:46:10 +0800
-Subject: [PATCH 193/223] mtk: mt76: mt7996: fix potential crash issue in
+Subject: [PATCH 192/193] mtk: mt76: mt7996: fix potential crash issue in
  mt7996_tx_prepare_skb()
 
 This commit aims to fix potential NULL pointer issue of sta, especially
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/mt7996/mac.c b/mt7996/mac.c
-index 5d40b8f1..b6980584 100644
+index 5d40b8f..b698058 100644
 --- a/mt7996/mac.c
 +++ b/mt7996/mac.c
 @@ -947,7 +947,7 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0194-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0193-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch
similarity index 81%
rename from recipes-wifi/linux-mt76/files/patches-3.x/0194-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch
rename to recipes-wifi/linux-mt76/files/patches-3.x/0193-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch
index 3c5755d..dc174f4 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0194-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0193-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch
@@ -1,7 +1,7 @@
-From eccfceec92bda3da9fa815c1ec55b1c74a0f3254 Mon Sep 17 00:00:00 2001
+From 5a9d5f2a8120137d5b7de535031325139d54a1e5 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Fri, 6 Sep 2024 15:32:05 +0800
-Subject: [PATCH 194/223] mtk: mt76: mt7996: Fix call trace happened when wed
+Subject: [PATCH 193/193] mtk: mt76: mt7996: Fix call trace happened when wed
  attach fail
 
 1. when we attech wed0 fail, we will not going to attach wed1
@@ -12,7 +12,7 @@
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/mt7996/mmio.c b/mt7996/mmio.c
-index c84c1bbb..8eff971d 100644
+index c84c1bb..8eff971 100644
 --- a/mt7996/mmio.c
 +++ b/mt7996/mmio.c
 @@ -449,8 +449,11 @@ int mt7996_mmio_wed_init(struct mt7996_dev *dev, void *pdev_ptr,
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/patches.inc b/recipes-wifi/linux-mt76/files/patches-3.x/patches.inc
index 4017397..e6e7491 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/patches.inc
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/patches.inc
@@ -1,5 +1,6 @@
 #patch patches (come from openwrt/lede/target/linux/mediatek)
 SRC_URI_append = " \
+    file://0000-mtk-Revert-wifi-mac80211-don-t-use-rate-mask-for-offchan.patch \
     file://0001-mtk-Revert-wifi-mt76-mt7996-fill-txd-by-host-driver.patch \
     file://0002-mtk-mt76-mt7996-fix-amsdu-information.patch \
     file://0003-mtk-mt76-mt7996-add-preamble-puncture-support-for-mt.patch \
@@ -178,20 +179,19 @@
     file://0176-mtk-mt76-mt7996-Add-lpi-support-with-sku_idx-and-enh.patch \
     file://0177-mtk-mt76-mt7996-Add-Triggered-Uplink-Access-Optimiza.patch \
     file://0178-mtk-mt76-mt7996-add-per-band-token-limit.patch \
-    file://0179-mtk-mt76-sync-with-upstream-changes.patch \
-    file://0180-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch \
-    file://0181-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch \
-    file://0182-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch \
-    file://0183-mtk-mt76-mt7996-separate-hwrro-from-wed.patch \
-    file://0184-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch \
-    file://0185-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch \
-    file://0186-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch \
-    file://0187-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch \
-    file://0188-mtk-mt76-mt7996-fix-ldpc-setting.patch \
-    file://0189-mtk-mt76-mt7996-add-external-eeprom-support.patch \
-    file://0190-mtk-mt76-mt7996-add-efuse-write-protection.patch \
-    file://0191-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch \
-    file://0192-mtk-mt76-mt7996-fix-HE-Phy-capability.patch \
-    file://0193-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch \
-    file://0194-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch \
+    file://0179-mtk-mt76-mt7996-record-per-antenna-average-data-fram.patch \
+    file://0180-mtk-mt76-mt7996-remove-default-bss_conf-when-link-be.patch \
+    file://0181-mtk-mt76-mt7996-pass-vif-cfg.assoc-to-mt7996_mac_sta.patch \
+    file://0182-mtk-mt76-mt7996-separate-hwrro-from-wed.patch \
+    file://0183-mtk-mt76-mt7996-ignore-vif.dormant_links-in-mt7996_c.patch \
+    file://0184-mtk-mt76-mt7996-add-Adv-TTLM-support-for-STA.patch \
+    file://0185-mtk-mt76-mt7996-Add-AFC-and-lpi-power-support.patch \
+    file://0186-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch \
+    file://0187-mtk-mt76-mt7996-fix-ldpc-setting.patch \
+    file://0188-mtk-mt76-mt7996-add-external-eeprom-support.patch \
+    file://0189-mtk-mt76-mt7996-add-efuse-write-protection.patch \
+    file://0190-mtk-mt76-mt7996-fix-the-capability-of-reception-of-E.patch \
+    file://0191-mtk-mt76-mt7996-fix-HE-Phy-capability.patch \
+    file://0192-mtk-mt76-mt7996-fix-potential-crash-issue-in-mt7996_.patch \
+    file://0193-mtk-mt76-mt7996-Fix-call-trace-happened-when-wed-att.patch \
     "
diff --git a/recipes-wifi/linux-mt76/files/patches/0024-wifi-mt76-mt7915-delete-twt-flow-before-remove-stati.patch b/recipes-wifi/linux-mt76/files/patches/0024-wifi-mt76-mt7915-delete-twt-flow-before-remove-stati.patch
new file mode 100644
index 0000000..4fb5802
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/patches/0024-wifi-mt76-mt7915-delete-twt-flow-before-remove-stati.patch
@@ -0,0 +1,38 @@
+From bd1f21a77b832ff70db23751789006090a4c5cd8 Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Mon, 14 Oct 2024 10:33:39 +0800
+Subject: [PATCH] wifi: mt76: mt7915: delete twt flow before remove stations
+
+Send a mcu command to FW to remove twt flows before removing stations.
+If we remove stations first, twt flows may not be remove correctly.
+
+Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
+---
+ mt7915/main.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mt7915/main.c b/mt7915/main.c
+index 35b97db7..a7aba999 100644
+--- a/mt7915/main.c
++++ b/mt7915/main.c
+@@ -812,14 +812,14 @@ void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+ 	struct mt7915_phy *phy = msta->vif->phy;
+ 	int i;
+ 
++	for (i = 0; i < ARRAY_SIZE(msta->twt.flow); i++)
++		mt7915_mac_twt_teardown_flow(dev, msta, i);
++
+ 	mt7915_mcu_add_sta(dev, vif, sta, false);
+ 
+ 	mt7915_mac_wtbl_update(dev, msta->wcid.idx,
+ 			       MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
+ 
+-	for (i = 0; i < ARRAY_SIZE(msta->twt.flow); i++)
+-		mt7915_mac_twt_teardown_flow(dev, msta, i);
+-
+ 	spin_lock_bh(&mdev->sta_poll_lock);
+ 	if (!list_empty(&msta->wcid.poll_list))
+ 		list_del_init(&msta->wcid.poll_list);
+-- 
+2.45.2
+
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch b/recipes-wifi/linux-mt76/files/patches/0025-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
similarity index 63%
copy from recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
copy to recipes-wifi/linux-mt76/files/patches/0025-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
index 059a790..cb27ea1 100644
--- a/recipes-wifi/linux-mt76/files/patches-3.x/0187-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
+++ b/recipes-wifi/linux-mt76/files/patches/0025-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.patch
@@ -1,7 +1,7 @@
-From 6bd9e4f92817c054a87abc52b59b20219585aff4 Mon Sep 17 00:00:00 2001
-From: Shayne Chen <shayne.chen@mediatek.com>
-Date: Tue, 13 Aug 2024 18:55:00 +0800
-Subject: [PATCH 187/223] mtk: mt76: do not report ACK when TXS is lost
+From 4efdf548d28d3afbc367e2cbe365107db1869690 Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Wed, 16 Oct 2024 08:41:49 +0800
+Subject: [PATCH] mtk: mt76: do not report ACK when TXS is lost
 
 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
 ---
@@ -9,7 +9,7 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/tx.c b/tx.c
-index 9bf43124..d002cf6d 100644
+index d6054ab6..b3d76692 100644
 --- a/tx.c
 +++ b/tx.c
 @@ -100,7 +100,8 @@ __mt76_tx_status_skb_done(struct mt76_dev *dev, struct sk_buff *skb, u8 flags,
@@ -18,7 +18,7 @@
  	/* Tx status can be unreliable. if it fails, mark the frame as ACKed */
 -	if (flags & MT_TX_CB_TXS_FAILED) {
 +	if ((flags & MT_TX_CB_TXS_FAILED) &&
-+	    (dev->drv->drv_flags & MT_DRV_SW_RX_AIRTIME)) {
++	    (dev->drv->drv_flags & MT_DRV_SW_RX_AIRTIME)) { /* Only CE chips do so */
  		info->status.rates[0].count = 0;
  		info->status.rates[0].idx = -1;
  		info->flags |= IEEE80211_TX_STAT_ACK;
diff --git a/recipes-wifi/linux-mt76/files/patches/1000-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
index 2af1061..298678e 100644
--- a/recipes-wifi/linux-mt76/files/patches/1000-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,8 +1,7 @@
-From 3f35505b3bbdfe9e381dbaa1c2450a7e7e461989 Mon Sep 17 00:00:00 2001
+From fc8eaff0aa3ff1f6a7ac8808922aafba48ed3efc 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 01/70] wifi: mt76: mt7915: add mtk internal debug tools for
- mt76
+Subject: [PATCH] wifi: mt76: mt7915: add mtk internal debug tools for mt76
 
 ---
  mt76_connac_mcu.h     |    6 +
@@ -24,7 +23,7 @@
  create mode 100644 mt7915/mtk_mcu.c
 
 diff --git a/mt76_connac_mcu.h b/mt76_connac_mcu.h
-index 79d248d..78ddc6e 100644
+index abc57f18..01d6598a 100644
 --- a/mt76_connac_mcu.h
 +++ b/mt76_connac_mcu.h
 @@ -1197,6 +1197,7 @@ enum {
@@ -48,7 +47,7 @@
  	MCU_EXT_CMD_CAL_CACHE = 0x67,
  	MCU_EXT_CMD_RED_ENABLE = 0x68,
 diff --git a/mt7915/Makefile b/mt7915/Makefile
-index c4dca9c..fd71141 100644
+index c4dca9c1..fd711416 100644
 --- a/mt7915/Makefile
 +++ b/mt7915/Makefile
 @@ -4,7 +4,7 @@ EXTRA_CFLAGS += -DCONFIG_MT76_LEDS
@@ -61,7 +60,7 @@
  mt7915e-$(CONFIG_NL80211_TESTMODE) += testmode.o
  mt7915e-$(CONFIG_MT798X_WMAC) += soc.o
 diff --git a/mt7915/debugfs.c b/mt7915/debugfs.c
-index 894e2cd..2661386 100644
+index 894e2cd7..26613869 100644
 --- a/mt7915/debugfs.c
 +++ b/mt7915/debugfs.c
 @@ -8,6 +8,9 @@
@@ -233,7 +232,7 @@
  
  	if (dev->relay_fwlog)
 diff --git a/mt7915/mac.c b/mt7915/mac.c
-index 1c5ab41..8268c19 100644
+index 9c56f105..d1f58eb4 100644
 --- a/mt7915/mac.c
 +++ b/mt7915/mac.c
 @@ -282,6 +282,10 @@ mt7915_mac_fill_rx(struct mt7915_dev *dev, struct sk_buff *skb,
@@ -272,7 +271,7 @@
  }
  
 diff --git a/mt7915/main.c b/mt7915/main.c
-index b19b433..aa4b3ae 100644
+index 2b161611..90cd834c 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -73,7 +73,11 @@ int mt7915_run(struct ieee80211_hw *hw)
@@ -293,10 +292,10 @@
  	mt76_wcid_init(&mvif->sta.wcid);
 +	mvif->sta.vif = mvif;
  
- 	mt7915_mac_wtbl_update(dev, idx,
- 			       MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
+ 	/* init Default QoS map, defined in section 2.3 of RFC8325.
+ 	 * Three most significant bits of DSCP are used as UP.
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 2326523..5493efa 100644
+index 34323577..ff7f81b0 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,
@@ -380,7 +379,7 @@
 +}
 +#endif
 diff --git a/mt7915/mcu.h b/mt7915/mcu.h
-index fa0847d..9ae0f07 100644
+index fa0847d5..9ae0f07a 100644
 --- a/mt7915/mcu.h
 +++ b/mt7915/mcu.h
 @@ -347,6 +347,10 @@ enum {
@@ -395,7 +394,7 @@
  	MCU_WA_PARAM_RED_SETTING = 0x40,
  };
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 74cd8ca..58c0bf9 100644
+index bfac8516..72158419 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
 @@ -9,6 +9,7 @@
@@ -406,7 +405,7 @@
  #define MT7915_MAX_INTERFACES		19
  #define MT7915_WTBL_SIZE		288
  #define MT7916_WTBL_SIZE		544
-@@ -244,6 +245,14 @@ struct mt7915_phy {
+@@ -248,6 +249,14 @@ struct mt7915_phy {
  #endif
  };
  
@@ -421,7 +420,7 @@
  struct mt7915_dev {
  	union { /* must be first */
  		struct mt76_dev mt76;
-@@ -327,6 +336,33 @@ struct mt7915_dev {
+@@ -331,6 +340,33 @@ struct mt7915_dev {
  	void __iomem *dcm;
  	void __iomem *sku;
  
@@ -455,7 +454,7 @@
  	bool wmm_pbc_enable;
  	struct work_struct wmm_pbc_work;
  	u32 adie_type;
-@@ -610,4 +646,24 @@ void mt7915_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -614,4 +650,24 @@ 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);
  
@@ -482,7 +481,7 @@
  #endif
 diff --git a/mt7915/mt7915_debug.h b/mt7915/mt7915_debug.h
 new file mode 100644
-index 0000000..2f9f3da
+index 00000000..2f9f3da7
 --- /dev/null
 +++ b/mt7915/mt7915_debug.h
 @@ -0,0 +1,1442 @@
@@ -1930,7 +1929,7 @@
 +#endif
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
 new file mode 100644
-index 0000000..06cedaa
+index 00000000..c0fcb2ee
 --- /dev/null
 +++ b/mt7915/mtk_debugfs.c
 @@ -0,0 +1,3750 @@
@@ -5686,7 +5685,7 @@
 +#endif
 diff --git a/mt7915/mtk_mcu.c b/mt7915/mtk_mcu.c
 new file mode 100644
-index 0000000..143dae2
+index 00000000..143dae26
 --- /dev/null
 +++ b/mt7915/mtk_mcu.c
 @@ -0,0 +1,51 @@
@@ -5742,7 +5741,7 @@
 +				 sizeof(req), true);
 +}
 diff --git a/mt7915/soc.c b/mt7915/soc.c
-index bb3468a..b941a49 100644
+index bb3468a9..b941a49d 100644
 --- a/mt7915/soc.c
 +++ b/mt7915/soc.c
 @@ -360,6 +360,13 @@ static int mt798x_wmac_sku_setup(struct mt7915_dev *dev, u32 *adie_type)
@@ -5760,7 +5759,7 @@
  	mt76_wmac_spi_unlock(dev);
  
 diff --git a/tools/fwlog.c b/tools/fwlog.c
-index e5d4a10..3d51d9e 100644
+index e5d4a105..3d51d9ec 100644
 --- a/tools/fwlog.c
 +++ b/tools/fwlog.c
 @@ -26,7 +26,7 @@ static const char *debugfs_path(const char *phyname, const char *file)
diff --git a/recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-csi-implement-csi-support.patch b/recipes-wifi/linux-mt76/files/patches/1001-wifi-mt76-mt7915-csi-implement-csi-support.patch
index 1e84172..07a7d03 100644
--- a/recipes-wifi/linux-mt76/files/patches/1001-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 594116fbcff4d30156c7207244633ad3c1bf9ec1 Mon Sep 17 00:00:00 2001
+From e15bcf231758ad3d3060512e772257ac7aaaaa3f 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 1001/1052] wifi: mt76: mt7915: csi: implement csi support
+Subject: [PATCH] wifi: mt76: mt7915: csi: implement csi support
 
 ---
  mt76_connac_mcu.h |   2 +
@@ -207,10 +207,10 @@
  				   ARRAY_SIZE(mt76_rates));
  	if (ret)
 diff --git a/mt7915/main.c b/mt7915/main.c
-index fc9a464a..12bb0b39 100644
+index 90cd834c..9a7703cf 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
-@@ -810,6 +810,19 @@ void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -816,6 +816,19 @@ void mt7915_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	struct mt7915_sta *msta = (struct mt7915_sta *)sta->drv_priv;
  	struct mt7915_phy *phy = msta->vif->phy;
  	int i;
@@ -228,8 +228,8 @@
 +	mutex_unlock(&phy->csi.mac_filter_lock);
 +#endif
  
- 	mt7915_mcu_add_sta(dev, vif, sta, false);
- 
+ 	for (i = 0; i < ARRAY_SIZE(msta->twt.flow); i++)
+ 		mt7915_mac_twt_teardown_flow(dev, msta, i);
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
 index ff7f81b0..44765b1f 100644
 --- a/mt7915/mcu.c
@@ -542,10 +542,10 @@
 +
  #endif
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index 58c0bf99..1316f93d 100644
+index 72158419..4c2abdbf 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -195,6 +195,57 @@ struct mt7915_hif {
+@@ -199,6 +199,57 @@ struct mt7915_hif {
  	int irq;
  };
  
@@ -603,7 +603,7 @@
  struct mt7915_phy {
  	struct mt76_phy *mt76;
  	struct mt7915_dev *dev;
-@@ -243,6 +294,25 @@ struct mt7915_phy {
+@@ -247,6 +298,25 @@ struct mt7915_phy {
  		u8 spe_idx;
  	} test;
  #endif
@@ -629,7 +629,7 @@
  };
  
  #ifdef MTK_DEBUG
-@@ -646,6 +716,14 @@ void mt7915_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -650,6 +720,14 @@ 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);
  
@@ -1338,5 +1338,5 @@
 +};
 +#endif
 -- 
-2.18.0
+2.45.2
 
diff --git a/recipes-wifi/linux-mt76/files/patches/1052-wifi-mt76-mt7915-Clear-private-driver-data-in-case-o.patch b/recipes-wifi/linux-mt76/files/patches/1052-wifi-mt76-mt7915-Clear-private-driver-data-in-case-o.patch
index a9ff608..8e444e1 100644
--- a/recipes-wifi/linux-mt76/files/patches/1052-wifi-mt76-mt7915-Clear-private-driver-data-in-case-o.patch
+++ b/recipes-wifi/linux-mt76/files/patches/1052-wifi-mt76-mt7915-Clear-private-driver-data-in-case-o.patch
@@ -1,8 +1,8 @@
-From 903edd4667682289fca8cb7fac0f407c34598e5c Mon Sep 17 00:00:00 2001
+From 3b8af1b07109458e7274bc032b27c3c2e331acb3 Mon Sep 17 00:00:00 2001
 From: Rex Lu <rex.lu@mediatek.com>
 Date: Fri, 5 Jul 2024 17:50:29 +0800
-Subject: [PATCH 1052/1052] wifi: mt76: mt7915: Clear private driver data in
- case of reuse
+Subject: [PATCH] wifi: mt76: mt7915: Clear private driver data in case of
+ reuse
 
 Signed-off-by: Rex Lu <rex.lu@mediatek.com>
 ---
@@ -10,12 +10,12 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/mt7915/main.c b/mt7915/main.c
-index eab45737..8c498683 100644
+index f9ce1ba7..d5ea85d6 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -230,6 +230,9 @@ int mt7915_init_vif(struct mt7915_phy *phy, struct ieee80211_vif *vif, bool bf_e
  	bool ext_phy = phy != &dev->phy;
- 	int idx, ret = 0;
+ 	int idx, i, ret = 0;
  
 +	/* Clear private driver data in case of reuse */
 +	memset(mvif, 0, sizeof(struct mt7915_vif));
@@ -24,5 +24,5 @@
  	vif->addr[0] |= bf_en;
  
 -- 
-2.18.0
+2.45.2
 
diff --git a/recipes-wifi/linux-mt76/files/patches/1053-wifi-mt76-mt7915-fix-TX-RX-hang-without-SER-hw-bit-t.patch b/recipes-wifi/linux-mt76/files/patches/1053-wifi-mt76-mt7915-fix-TX-RX-hang-without-SER-hw-bit-t.patch
new file mode 100644
index 0000000..4da50c9
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/patches/1053-wifi-mt76-mt7915-fix-TX-RX-hang-without-SER-hw-bit-t.patch
@@ -0,0 +1,109 @@
+From 7a5aec3bea2904c15137b3293a37cef67ab7c9b4 Mon Sep 17 00:00:00 2001
+From: Rex Lu <rex.lu@mediatek.com>
+Date: Thu, 12 Sep 2024 16:17:51 +0800
+Subject: [PATCH]  wifi: mt76: mt7915: fix TX/RX hang without SER hw bit to do
+ L1 recovery issue
+
+---
+ mcu.c             |  4 +++-
+ mt76.h            |  2 +-
+ mt76_connac_mcu.c |  2 +-
+ mt7915/mcu.c      | 10 +++++++++-
+ mt7915/regs.h     |  2 +-
+ 5 files changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/mcu.c b/mcu.c
+index 1bc94e8..d331d81 100644
+--- a/mcu.c
++++ b/mcu.c
+@@ -82,6 +82,7 @@ int mt76_mcu_skb_send_and_get_msg(struct mt76_dev *dev, struct sk_buff *skb,
+ 	int ret, seq, retry_cnt;
+ 	struct sk_buff *skb_tmp;
+ 	bool retry = wait_resp && is_connac_v2(dev);
++	bool force_ser = false;
+ 
+ 	if (ret_skb)
+ 		*ret_skb = NULL;
+@@ -99,9 +100,10 @@ int mt76_mcu_skb_send_and_get_msg(struct mt76_dev *dev, struct sk_buff *skb,
+ 				usleep_range(200000, 500000);
+ 			dev_err(dev->dev, "send message %08x timeout, try again(%d).\n",
+ 				cmd, (MT76_MSG_MAX_RETRY_CNT - retry_cnt));
++			force_ser = true;
+ 		}
+ 
+-		ret = dev->mcu_ops->mcu_skb_send_msg(dev, skb_tmp, cmd, &seq);
++		ret = dev->mcu_ops->mcu_skb_send_msg(dev, skb_tmp, cmd, &seq, force_ser);
+ 		if (ret < 0 && ret != -EAGAIN)
+ 			goto out;
+ 
+diff --git a/mt76.h b/mt76.h
+index fd59fdf..dbf0fba 100644
+--- a/mt76.h
++++ b/mt76.h
+@@ -245,7 +245,7 @@ struct mt76_mcu_ops {
+ 	int (*mcu_send_msg)(struct mt76_dev *dev, int cmd, const void *data,
+ 			    int len, bool wait_resp);
+ 	int (*mcu_skb_send_msg)(struct mt76_dev *dev, struct sk_buff *skb,
+-				int cmd, int *seq);
++				int cmd, int *seq, bool force_ser);
+ 	int (*mcu_parse_response)(struct mt76_dev *dev, int cmd,
+ 				  struct sk_buff *skb, int seq);
+ 	u32 (*mcu_rr)(struct mt76_dev *dev, u32 offset);
+diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
+index 0ce7ecd..e1f598f 100644
+--- a/mt76_connac_mcu.c
++++ b/mt76_connac_mcu.c
+@@ -3076,7 +3076,7 @@ int mt76_connac2_mcu_fill_message(struct mt76_dev *dev, struct sk_buff *skb,
+ 	u8 seq;
+ 
+ 	/* TODO: make dynamic based on msg type */
+-	dev->mcu.timeout = 20 * HZ;
++	dev->mcu.timeout = 3 * HZ;
+ 
+ 	seq = ++dev->mcu.msg_seq & 0xf;
+ 	if (!seq)
+diff --git a/mt7915/mcu.c b/mt7915/mcu.c
+index 250b05e..bd32b0a 100644
+--- a/mt7915/mcu.c
++++ b/mt7915/mcu.c
+@@ -192,7 +192,7 @@ mt7915_mcu_parse_response(struct mt76_dev *mdev, int cmd,
+ 
+ static int
+ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
+-			int cmd, int *wait_seq)
++			int cmd, int *wait_seq, bool force_ser)
+ {
+ 	struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76);
+ 	enum mt76_mcuq_id qid;
+@@ -205,6 +205,14 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
+ 		return -EPERM;
+ 	}
+ 
++	if (force_ser && mdev->recovery_state == MT76_RECOVERY_INIT) {
++		dev_info(dev->mt76.dev,"\n%s TX/RX hang force trigger L1 SER recovery, drop message %08x.",
++			 wiphy_name(dev->mt76.hw->wiphy), cmd);
++		mt76_wr(dev, MT_MCU_INT_EVENT, MT_MCU_INT_EVENT_SER_TRIGGER);
++		dev_kfree_skb(skb);
++		return -EPERM;
++	}
++
+ 	ret = mt76_connac2_mcu_fill_message(mdev, skb, cmd, wait_seq);
+ 
+ 	if (ret)
+diff --git a/mt7915/regs.h b/mt7915/regs.h
+index ca355d1..24778d3 100644
+--- a/mt7915/regs.h
++++ b/mt7915/regs.h
+@@ -141,8 +141,8 @@ enum offs_rev {
+ #define MT_MCU_INT_EVENT		__REG(INT_MCU_CMD_EVENT)
+ #define MT_MCU_INT_EVENT_DMA_STOPPED	BIT(0)
+ #define MT_MCU_INT_EVENT_DMA_INIT	BIT(1)
+-#define MT_MCU_INT_EVENT_SER_TRIGGER	BIT(2)
+ #define MT_MCU_INT_EVENT_RESET_DONE	BIT(3)
++#define MT_MCU_INT_EVENT_SER_TRIGGER	BIT(4)
+ 
+ /* PLE */
+ #define MT_PLE_BASE			0x820c0000
+-- 
+2.45.2
+
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 65b6630..30f352b 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 065fd51b334f21e004e8a0e03e4d90a4e8265d98 Mon Sep 17 00:00:00 2001
+From 85f40d6281ddf11d7273f8ec8b64984add5e9da6 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 2004/2015] wifi: mt76: mt7915: wed: HW ATF support for mt7986
+Subject: [PATCH] wifi: mt76: mt7915: wed: HW ATF support for mt7986
 
 Signed-off-by: Lian Chen <lian.chen@mediatek.com>
 Signed-off-by: Benjamin Lin <benjamin-jw.lin@mediatek.com>
@@ -497,7 +497,7 @@
  
  int mt7915_txbf_init(struct mt7915_dev *dev)
 diff --git a/mt7915/main.c b/mt7915/main.c
-index abafa5e4..ecfd9307 100644
+index 87d26689..7d6e427f 100644
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -226,6 +226,7 @@ int mt7915_init_vif(struct mt7915_phy *phy, struct ieee80211_vif *vif, bool bf_e
@@ -507,8 +507,8 @@
 +	struct wiphy *wiphy = dev->phy.mt76->hw->wiphy;
  	struct mt76_txq *mtxq;
  	bool ext_phy = phy != &dev->phy;
- 	int idx, ret = 0;
-@@ -291,6 +292,9 @@ int mt7915_init_vif(struct mt7915_phy *phy, struct ieee80211_vif *vif, bool bf_e
+ 	int idx, i, ret = 0;
+@@ -297,6 +298,9 @@ int mt7915_init_vif(struct mt7915_phy *phy, struct ieee80211_vif *vif, bool bf_e
  	mt7915_mcu_add_sta(dev, vif, NULL, true);
  	rcu_assign_pointer(dev->mt76.wcid[idx], &mvif->sta.wcid);
  
@@ -518,7 +518,7 @@
  	return ret;
  }
  
-@@ -829,6 +833,7 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -835,6 +839,7 @@ 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;
@@ -526,7 +526,7 @@
  #ifdef CONFIG_MTK_VENDOR
  	struct mt7915_phy *phy = ext_phy ? mt7915_ext_phy(dev) : &dev->phy;
  #endif
-@@ -879,6 +884,15 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
+@@ -885,6 +890,15 @@ int mt7915_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
  	if (phy->muru_onoff & MUMIMO_DL_CERT)
  		mt7915_mcu_set_mimo(phy, 0);
  #endif
@@ -543,10 +543,10 @@
  }
  
 diff --git a/mt7915/mcu.c b/mt7915/mcu.c
-index 7927a523..570dd171 100644
+index 3280597b..174e68ba 100644
 --- a/mt7915/mcu.c
 +++ b/mt7915/mcu.c
-@@ -1866,7 +1866,7 @@ mt7915_mcu_add_group(struct mt7915_dev *dev, struct ieee80211_vif *vif,
+@@ -1874,7 +1874,7 @@ mt7915_mcu_add_group(struct mt7915_dev *dev, struct ieee80211_vif *vif,
  {
  #define MT_STA_BSS_GROUP		1
  	struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv;
@@ -555,7 +555,7 @@
  	struct {
  		__le32 action;
  		u8 wlan_idx_lo;
-@@ -1877,10 +1877,9 @@ mt7915_mcu_add_group(struct mt7915_dev *dev, struct ieee80211_vif *vif,
+@@ -1885,10 +1885,9 @@ mt7915_mcu_add_group(struct mt7915_dev *dev, struct ieee80211_vif *vif,
  		u8 rsv1[8];
  	} __packed req = {
  		.action = cpu_to_le32(MT_STA_BSS_GROUP),
@@ -567,7 +567,7 @@
  	req.wlan_idx_lo = to_wcid_lo(msta->wcid.idx);
  	req.wlan_idx_hi = to_wcid_hi(msta->wcid.idx);
  
-@@ -1938,6 +1937,7 @@ int mt7915_mcu_add_sta(struct mt7915_dev *dev, struct ieee80211_vif *vif,
+@@ -1946,6 +1945,7 @@ int mt7915_mcu_add_sta(struct mt7915_dev *dev, struct ieee80211_vif *vif,
  		mt7915_mcu_sta_bfee_tlv(dev, skb, vif, sta);
  	}
  
@@ -575,7 +575,7 @@
  	ret = mt7915_mcu_add_group(dev, vif, sta);
  	if (ret) {
  		dev_kfree_skb(skb);
-@@ -3897,6 +3897,169 @@ int mt7915_mcu_set_ser(struct mt7915_dev *dev, u8 action, u8 set, u8 band)
+@@ -3905,6 +3905,169 @@ int mt7915_mcu_set_ser(struct mt7915_dev *dev, u8 action, u8 set, u8 band)
  				 &req, sizeof(req), false);
  }
  
@@ -746,10 +746,10 @@
  {
  #define MT_BF_PROCESSING	4
 diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
-index d93ab970..9ea30f1d 100644
+index 94ea3e1c..981c438f 100644
 --- a/mt7915/mt7915.h
 +++ b/mt7915/mt7915.h
-@@ -141,6 +141,58 @@ struct mt7915_twt_flow {
+@@ -143,6 +143,58 @@ struct mt7915_twt_flow {
  
  DECLARE_EWMA(avg_signal, 10, 8)
  
@@ -808,7 +808,7 @@
  struct mt7915_sta {
  	struct mt76_wcid wcid; /* must be first */
  
-@@ -161,6 +213,7 @@ struct mt7915_sta {
+@@ -163,6 +215,7 @@ struct mt7915_sta {
  		u8 flowid_mask;
  		struct mt7915_twt_flow flow[MT7915_MAX_STA_TWT_AGRT];
  	} twt;
@@ -816,7 +816,7 @@
  };
  
  struct mt7915_vif_cap {
-@@ -507,6 +560,8 @@ struct mt7915_dev {
+@@ -511,6 +564,8 @@ struct mt7915_dev {
  #endif
  
  	struct delayed_work scs_work;
@@ -825,7 +825,7 @@
  
  	bool wmm_pbc_enable;
  	struct work_struct wmm_pbc_work;
-@@ -543,6 +598,15 @@ enum mt7915_rdd_cmd {
+@@ -547,6 +602,15 @@ enum mt7915_rdd_cmd {
  	RDD_IRQ_OFF,
  };
  
@@ -841,7 +841,7 @@
  static inline struct mt7915_phy *
  mt7915_hw_phy(struct ieee80211_hw *hw)
  {
-@@ -672,6 +736,11 @@ int mt7915_mcu_set_mac(struct mt7915_dev *dev, int band, bool enable,
+@@ -676,6 +740,11 @@ int mt7915_mcu_set_mac(struct mt7915_dev *dev, int band, bool enable,
  int mt7915_mcu_set_test_param(struct mt7915_dev *dev, u8 param, bool test_mode,
  			      u8 en);
  int mt7915_mcu_set_ser(struct mt7915_dev *dev, u8 action, u8 set, u8 band);
@@ -854,7 +854,7 @@
  int mt7915_mcu_set_txpower_sku(struct mt7915_phy *phy);
  int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len,
 diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
-index c8dd569c..d6e92b12 100644
+index 3a58a06e..b2014927 100644
 --- a/mt7915/mtk_debugfs.c
 +++ b/mt7915/mtk_debugfs.c
 @@ -1518,6 +1518,136 @@ static void chip_get_sta_pause(struct mt7915_dev *dev, u32 *sta_pause)
@@ -995,5 +995,5 @@
  {
  	struct mt7915_dev *dev = dev_get_drvdata(s->private);
 -- 
-2.18.0
+2.45.2
 
diff --git a/recipes-wifi/linux-mt76/files/patches/2016-wifi-mt76-mt7915-refine-twt-mcu-update-flow.patch b/recipes-wifi/linux-mt76/files/patches/2016-wifi-mt76-mt7915-refine-twt-mcu-update-flow.patch
new file mode 100644
index 0000000..fb8587e
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/patches/2016-wifi-mt76-mt7915-refine-twt-mcu-update-flow.patch
@@ -0,0 +1,94 @@
+From 174faa97cf0fdc8f26e4b8c13fd3c4b8d19ced15 Mon Sep 17 00:00:00 2001
+From: Yi-Chia Hsieh <Yi-Chia.Hsieh@mediatek.com>
+Date: Wed, 9 Oct 2024 23:13:29 +0000
+Subject: [PATCH] wifi: mt76: mt7915: refine twt mcu update flow
+
+Fix potential issue that if the twt mcu update command fail, the twt_list entry
+is not undo and will remain in the list. Also, remove unecessary parameter for
+twt delete flow.
+
+Signed-off-by: Yi-Chia Hsieh <Yi-Chia.Hsieh@mediatek.com>
+---
+ mt7915/debugfs.c |  4 ++--
+ mt7915/mac.c     |  4 +++-
+ mt7915/mcu.c     | 22 ++++++++++++----------
+ 3 files changed, 17 insertions(+), 13 deletions(-)
+
+diff --git a/mt7915/debugfs.c b/mt7915/debugfs.c
+index 72867ff..462e167 100644
+--- a/mt7915/debugfs.c
++++ b/mt7915/debugfs.c
+@@ -1758,7 +1758,7 @@ mt7915_twt_stats(struct seq_file *s, void *data)
+ 	struct mt7915_dev *dev = dev_get_drvdata(s->private);
+ 	struct mt7915_twt_flow *iter;
+ 
+-	rcu_read_lock();
++	mutex_lock(&dev->mt76.mutex);
+ 
+ 	seq_puts(s, "     wcid |       id |    flags |      exp | mantissa");
+ 	seq_puts(s, " | duration |            tsf |\n");
+@@ -1773,7 +1773,7 @@ mt7915_twt_stats(struct seq_file *s, void *data)
+ 			iter->exp, iter->mantissa,
+ 			iter->duration, iter->tsf);
+ 
+-	rcu_read_unlock();
++	mutex_unlock(&dev->mt76.mutex);
+ 
+ 	return 0;
+ }
+diff --git a/mt7915/mac.c b/mt7915/mac.c
+index 4e7dae7..321a57d 100644
+--- a/mt7915/mac.c
++++ b/mt7915/mac.c
+@@ -2555,8 +2555,10 @@ void mt7915_mac_add_twt_setup(struct ieee80211_hw *hw,
+ 	}
+ 	flow->tsf = le64_to_cpu(twt_agrt->twt);
+ 
+-	if (mt7915_mcu_twt_agrt_update(dev, msta->vif, flow, MCU_TWT_AGRT_ADD))
++	if (mt7915_mcu_twt_agrt_update(dev, msta->vif, flow, MCU_TWT_AGRT_ADD)) {
++		list_del(&flow->list);
+ 		goto unlock;
++	}
+ 
+ 	setup_cmd = TWT_SETUP_CMD_ACCEPT;
+ 	dev->twt.table_mask |= BIT(table_id);
+diff --git a/mt7915/mcu.c b/mt7915/mcu.c
+index 2c5943b..25ac312 100644
+--- a/mt7915/mcu.c
++++ b/mt7915/mcu.c
+@@ -4811,20 +4811,22 @@ int mt7915_mcu_twt_agrt_update(struct mt7915_dev *dev,
+ 		.own_mac_idx = mvif->mt76.omac_idx,
+ 		.flowid = flow->id,
+ 		.peer_id = cpu_to_le16(flow->wcid),
+-		.duration = flow->duration,
+ 		.bss_idx = mvif->mt76.idx,
+-		.start_tsf = cpu_to_le64(flow->tsf),
+-		.mantissa = flow->mantissa,
+-		.exponent = flow->exp,
+ 		.is_ap = true,
+ 	};
+ 
+-	if (flow->protection)
+-		req.agrt_params |= TWT_AGRT_PROTECT;
+-	if (!flow->flowtype)
+-		req.agrt_params |= TWT_AGRT_ANNOUNCE;
+-	if (flow->trigger)
+-		req.agrt_params |= TWT_AGRT_TRIGGER;
++	if (cmd == MCU_TWT_AGRT_ADD) {
++		req.start_tsf = cpu_to_le64(flow->tsf);
++		req.mantissa = flow->mantissa;
++		req.exponent = flow->exp;
++		req.duration = flow->duration;
++		if (flow->protection)
++			req.agrt_params |= TWT_AGRT_PROTECT;
++		if (!flow->flowtype)
++			req.agrt_params |= TWT_AGRT_ANNOUNCE;
++		if (flow->trigger)
++			req.agrt_params |= TWT_AGRT_TRIGGER;
++	}
+ 
+ 	return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD(TWT_AGRT_UPDATE),
+ 				 &req, sizeof(req), true);
+-- 
+2.18.0
+
diff --git a/recipes-wifi/linux-mt76/files/patches/patches.inc b/recipes-wifi/linux-mt76/files/patches/patches.inc
index b307b8c..a2fbe6e 100644
--- a/recipes-wifi/linux-mt76/files/patches/patches.inc
+++ b/recipes-wifi/linux-mt76/files/patches/patches.inc
@@ -23,6 +23,8 @@
     file://0021-wifi-mt76-mt7915-remove-unnecessary-register-setting.patch \
     file://0022-wifi-mt76-mt7915-add-PID-to-only-report-data-frame-T.patch \
     file://0023-wifi-mt76-mt7915-fix-add-ba-issue-on-tid-not-equal-t.patch \
+    file://0024-wifi-mt76-mt7915-delete-twt-flow-before-remove-stati.patch \
+    file://0025-mtk-mt76-do-not-report-ACK-when-TXS-is-lost.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 \
@@ -77,6 +79,7 @@
     file://1050-mtk-wifi-mt76-mt7915-assign-DEAUTH-to-ALTX-queue-for.patch \
     file://1051-wifi-mt76-mt7915-set-channel-after-sta-is-associated.patch \
     file://1052-wifi-mt76-mt7915-Clear-private-driver-data-in-case-o.patch \
+    file://1053-wifi-mt76-mt7915-fix-TX-RX-hang-without-SER-hw-bit-t.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 \
@@ -93,5 +96,6 @@
     file://2013-wifi-mt76-add-debugfs-for-tx-drop-counters.patch \
     file://2014-wifi-mt76-add-debugfs-for-rx-drop-counters.patch \
     file://2015-wifi-mt76-mt7915-support-backaward-compatiable.patch \
+    file://2016-wifi-mt76-mt7915-refine-twt-mcu-update-flow.patch \
     file://9999-mt76-revert-for-backports-5.15-wireless-stack.patch \
     "
diff --git a/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7992_eeprom_23_2e5e.bin b/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7992_eeprom_23_2e5e.bin
deleted file mode 100644
index 20c5908..0000000
--- a/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7992_eeprom_23_2e5e.bin
+++ /dev/null
Binary files differ
diff --git a/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7992_eeprom_2e5e.bin b/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7992_eeprom_2e5e.bin
deleted file mode 100644
index 5d567db..0000000
--- a/recipes-wifi/linux-mt76/files/src/firmware/mt7996/mt7992_eeprom_2e5e.bin
+++ /dev/null
Binary files differ
diff --git a/recipes-wifi/linux-mt76/mt76-3x.inc b/recipes-wifi/linux-mt76/mt76-3x.inc
index 6d37a04..b5629b0 100644
--- a/recipes-wifi/linux-mt76/mt76-3x.inc
+++ b/recipes-wifi/linux-mt76/mt76-3x.inc
@@ -1 +1 @@
-SRCREV_mt7990 = "680bc70f161fde0f167e2ae50c771be4775eb50a"
+SRCREV_mt7990 = "ecca0e77b4bce629ec1f79d83bbd14a68f919188"
diff --git a/recipes-wifi/wireless-regdb/wireless-regdb_2024.07.04.bb b/recipes-wifi/wireless-regdb/wireless-regdb_2024.10.07.bb
similarity index 95%
rename from recipes-wifi/wireless-regdb/wireless-regdb_2024.07.04.bb
rename to recipes-wifi/wireless-regdb/wireless-regdb_2024.10.07.bb
index cb614bc..239054b 100644
--- a/recipes-wifi/wireless-regdb/wireless-regdb_2024.07.04.bb
+++ b/recipes-wifi/wireless-regdb/wireless-regdb_2024.10.07.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
 
 SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "9832a14e1be24abff7be30dee3c9a1afb5fdfcf475a0d91aafef039f8d85f5eb"
+SRC_URI[sha256sum] = "f76f2bd79a653e9f9dd50548d99d03a4a4eb157da056dfd5892f403ec28fb3d5"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/files/patches:"
 require files/patches/patches.inc
