diff --git a/autobuild_mac80211_release/package/kernel/mac80211/patches/subsys/mtk-0010-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch b/autobuild_mac80211_release/package/kernel/mac80211/patches/subsys/mtk-0010-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
index e2bfe16..575ed99 100644
--- a/autobuild_mac80211_release/package/kernel/mac80211/patches/subsys/mtk-0010-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
+++ b/autobuild_mac80211_release/package/kernel/mac80211/patches/subsys/mtk-0010-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
@@ -1,8 +1,8 @@
-From 316a7218dbbfa48fbd030cb64fb3693edf00e276 Mon Sep 17 00:00:00 2001
+From 8e2d3c2456fddf1d5a3fc015ff25c4d79e496bcd Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 22 Sep 2022 14:27:41 +0800
-Subject: [PATCH 909/915] cfg80211: mtk: implement DFS status show, cac and nop
- skip command via debugfs
+Subject: [PATCH] cfg80211: mtk: implement DFS status show, cac and nop skip
+ command via debugfs
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
@@ -77,7 +77,7 @@
  	struct work_struct background_cac_abort_wk;
  
 diff --git a/net/wireless/debugfs.c b/net/wireless/debugfs.c
-index 0878b16..ea50cc7 100644
+index 0878b16..d3a0aae 100644
 --- a/net/wireless/debugfs.c
 +++ b/net/wireless/debugfs.c
 @@ -9,6 +9,7 @@
@@ -315,8 +315,8 @@
 +			chandef = &wdev->chandef;
 +			chan = chandef->chan;
 +
-+			if ((chan->flags & IEEE80211_CHAN_RADAR) &&
-+			    chan->dfs_state == NL80211_DFS_USABLE && wdev->cac_started) {
++			if ((cfg80211_chandef_dfs_required(wiphy, chandef, wdev->iftype) > 0) &&
++			    cfg80211_chandef_dfs_usable(wiphy, chandef) && wdev->cac_started) {
 +				rdev_skip_cac(rdev, wdev);
 +			}
 +		}
@@ -327,8 +327,8 @@
 +			chandef = &rdev->background_radar_chandef;
 +			chan = chandef->chan;
 +
-+			if ((chan->flags & IEEE80211_CHAN_RADAR) &&
-+			    chan->dfs_state == NL80211_DFS_USABLE &&
++			if ((cfg80211_chandef_dfs_required(wiphy, chandef, wdev->iftype) > 0) &&
++			    cfg80211_chandef_dfs_usable(wiphy, chandef) &&
 +			    rdev->background_cac_started) {
 +				// Let current jiffies > dfs_state_entered_jiffies + CAC time
 +				cac_time = rdev->background_cac_time_ms;
@@ -454,5 +454,5 @@
  
  #undef TRACE_INCLUDE_PATH
 -- 
-2.36.1
+2.18.0
 
diff --git a/autobuild_mac80211_release/package/kernel/mac80211_dev/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch b/autobuild_mac80211_release/package/kernel/mac80211_dev/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
index 0d382ef..1e4eb5b 100644
--- a/autobuild_mac80211_release/package/kernel/mac80211_dev/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
+++ b/autobuild_mac80211_release/package/kernel/mac80211_dev/patches/subsys/mtk-0009-cfg80211-mtk-implement-DFS-status-show-cac-and-nop-s.patch
@@ -1,22 +1,22 @@
-From 58f7244e69613f8248dd4e01f9c7920adb0f88f5 Mon Sep 17 00:00:00 2001
+From 4485bc86685082b37de5a1f3e04c29be65a902a0 Mon Sep 17 00:00:00 2001
 From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 Date: Thu, 22 Sep 2022 14:27:41 +0800
-Subject: [PATCH 09/16] cfg80211: mtk: implement DFS status show, cac and nop
- skip command via debugfs
+Subject: [PATCH] cfg80211: mtk: implement DFS status show, cac and nop skip
+ command via debugfs
 
 Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
 ---
  include/net/cfg80211.h  |   1 +
  net/mac80211/cfg.c      |  20 +++
  net/wireless/core.h     |   3 +
- net/wireless/debugfs.c  | 270 ++++++++++++++++++++++++++++++++++++++--
+ net/wireless/debugfs.c  | 271 ++++++++++++++++++++++++++++++++++++++--
  net/wireless/mlme.c     |   6 +
  net/wireless/rdev-ops.h |  14 +++
  net/wireless/trace.h    |  12 ++
- 7 files changed, 319 insertions(+), 7 deletions(-)
+ 7 files changed, 320 insertions(+), 7 deletions(-)
 
 diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
-index 9728bf8..f9c2cc3 100644
+index d99b59f..bbd3de4 100644
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
 @@ -4641,6 +4641,7 @@ struct cfg80211_ops {
@@ -28,10 +28,10 @@
  
  /*
 diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index cd5444e..5718c56 100644
+index 27f7616..3e35433 100644
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -4870,6 +4870,25 @@ ieee80211_del_link_station(struct wiphy *wiphy, struct net_device *dev,
+@@ -4900,6 +4900,25 @@ ieee80211_del_link_station(struct wiphy *wiphy, struct net_device *dev,
  	return ret;
  }
  
@@ -57,7 +57,7 @@
  const struct cfg80211_ops mac80211_config_ops = {
  	.add_virtual_intf = ieee80211_add_iface,
  	.del_virtual_intf = ieee80211_del_iface,
-@@ -4981,4 +5000,5 @@ const struct cfg80211_ops mac80211_config_ops = {
+@@ -5011,4 +5030,5 @@ const struct cfg80211_ops mac80211_config_ops = {
  	.add_link_station = ieee80211_add_link_station,
  	.mod_link_station = ieee80211_mod_link_station,
  	.del_link_station = ieee80211_del_link_station,
@@ -78,7 +78,7 @@
  	struct work_struct background_cac_abort_wk;
  
 diff --git a/net/wireless/debugfs.c b/net/wireless/debugfs.c
-index 0878b16..e0fcb59 100644
+index 0878b16..f5f23d0 100644
 --- a/net/wireless/debugfs.c
 +++ b/net/wireless/debugfs.c
 @@ -9,6 +9,7 @@
@@ -89,7 +89,7 @@
  
  #define DEBUGFS_READONLY_FILE(name, buflen, fmt, value...)		\
  static ssize_t name## _read(struct file *file, char __user *userbuf,	\
-@@ -96,16 +97,271 @@ static const struct file_operations ht40allow_map_ops = {
+@@ -96,16 +97,272 @@ static const struct file_operations ht40allow_map_ops = {
  	.llseek = default_llseek,
  };
  
@@ -171,7 +171,8 @@
 +				if (remain_time > wait_time_ms)
 +					remain_time = 0;
 +			} else if (chan->dfs_state == NL80211_DFS_USABLE) {
-+				if (wdev->cac_started && cfg80211_is_sub_chan(chandef, chan, false)) {
++				if (wdev->cac_started &&
++				    cfg80211_is_sub_chan(chandef, chan, false)) {
 +					jiffies_passed = jiffies - wdev->cac_start_time;
 +					wait_time_ms = wdev->cac_time_ms;
 +					remain_time = (wait_time_ms -
@@ -316,8 +317,8 @@
 +			chandef = &wdev->links[0].ap.chandef;
 +			chan = chandef->chan;
 +
-+			if ((chan->flags & IEEE80211_CHAN_RADAR) &&
-+			    chan->dfs_state == NL80211_DFS_USABLE && wdev->cac_started) {
++			if ((cfg80211_chandef_dfs_required(wiphy, chandef, wdev->iftype) > 0) &&
++			    cfg80211_chandef_dfs_usable(wiphy, chandef) && wdev->cac_started) {
 +				rdev_skip_cac(rdev, wdev);
 +			}
 +		}
@@ -328,8 +329,8 @@
 +			chandef = &rdev->background_radar_chandef;
 +			chan = chandef->chan;
 +
-+			if ((chan->flags & IEEE80211_CHAN_RADAR) &&
-+			    chan->dfs_state == NL80211_DFS_USABLE &&
++			if ((cfg80211_chandef_dfs_required(wiphy, chandef, wdev->iftype) > 0) &&
++			    cfg80211_chandef_dfs_usable(wiphy, chandef) &&
 +			    rdev->background_cac_started) {
 +				// Let current jiffies > dfs_state_entered_jiffies + CAC time
 +				cac_time = rdev->background_cac_time_ms;
@@ -455,5 +456,5 @@
  
  #undef TRACE_INCLUDE_PATH
 -- 
-2.25.1
+2.18.0
 
