diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/99920-hostapd-mtk-Fix-the-issue-of-AP-and-STA-starting-on-DFS-channel.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/99920-hostapd-mtk-Fix-the-issue-of-AP-and-STA-starting-on-DFS-channel.patch
new file mode 100644
index 0000000..6e89adb
--- /dev/null
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/99920-hostapd-mtk-Fix-the-issue-of-AP-and-STA-starting-on-DFS-channel.patch
@@ -0,0 +1,107 @@
+From c0fbe6aea8d2d3f8aee0fd5f17643d52e0469fa8 Mon Sep 17 00:00:00 2001
+From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
+Date: Fri, 7 Oct 2022 22:56:59 +0800
+Subject: [PATCH 99920/99920] Fix the issue of AP and STA starting on DFS
+ channel concurrently
+
+Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
+---
+ src/ap/hostapd.c             |  4 +++-
+ src/drivers/driver.h         |  7 +++++++
+ src/drivers/driver_nl80211.c | 29 +++++++++++++++++++++++++++++
+ src/drivers/nl80211_copy.h   |  1 +
+ 4 files changed, 40 insertions(+), 1 deletion(-)
+
+diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
+index 5fc998e..ed1dfdb 100644
+--- a/src/ap/hostapd.c
++++ b/src/ap/hostapd.c
+@@ -1463,7 +1463,9 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
+ 		return -1;
+ 	}
+ 
+-	if (!conf->start_disabled && ieee802_11_set_beacon(hapd) < 0)
++	if (conf->start_disabled)
++		hapd->driver->start_disabled(hapd->drv_priv);
++	else if (ieee802_11_set_beacon(hapd) < 0)
+ 		return -1;
+ 
+ 	if (flush_old_stations && !conf->start_disabled &&
+diff --git a/src/drivers/driver.h b/src/drivers/driver.h
+index 3286429..3e8824c 100644
+--- a/src/drivers/driver.h
++++ b/src/drivers/driver.h
+@@ -4729,6 +4729,13 @@ struct wpa_driver_ops {
+ 	int (*ampdu_ctrl)(void *priv, u8 ampdu);
+ 	int (*amsdu_ctrl)(void *priv, u8 amsdu);
+ 	int (*aggregation_dump)(void *priv, u8 *aggr);
++
++	/**
++	 * start_disabled - set start_disabled to cfg80211
++	 * @priv: Private driver interface data
++	 *
++	 */
++	int (*start_disabled)(void *priv);
+ };
+ 
+ /**
+diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
+index a06ac58..af064c0 100644
+--- a/src/drivers/driver_nl80211.c
++++ b/src/drivers/driver_nl80211.c
+@@ -12812,6 +12812,34 @@ fail:
+ 	return -ENOBUFS;
+ }
+ 
++static int nl80211_start_disabled(void *priv)
++{
++	struct i802_bss *bss = priv;
++	struct wpa_driver_nl80211_data *drv = bss->drv;
++	struct nl_msg *msg;
++	struct nlattr *data;
++	int ret;
++
++	msg = nl80211_bss_msg(bss, 0, NL80211_CMD_NEW_BEACON);
++	if (!msg)
++		goto fail;
++
++	if (nla_put_flag(msg, NL80211_ATTR_START_DISABLED))
++		goto fail;
++
++	ret = send_and_recv_msgs_connect_handle(drv, msg, bss, 1);
++
++	if (ret)
++		wpa_printf(MSG_ERROR, "Failed to set start_disabled. ret=%d (%s)",
++			   ret, strerror(-ret));
++
++	return ret;
++
++fail:
++	nlmsg_free(msg);
++	return ret;
++}
++
+ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+ 	.name = "nl80211",
+ 	.desc = "Linux nl80211/cfg80211",
+@@ -12967,4 +12995,5 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
+ 	.ampdu_ctrl = nl80211_enable_ampdu,
+ 	.amsdu_ctrl = nl80211_enable_amsdu,
+ 	.aggregation_dump = nl80211_dump_aggregation,
++	.start_disabled = nl80211_start_disabled,
+ };
+diff --git a/src/drivers/nl80211_copy.h b/src/drivers/nl80211_copy.h
+index c4bf3ad..4c86340 100644
+--- a/src/drivers/nl80211_copy.h
++++ b/src/drivers/nl80211_copy.h
+@@ -3176,6 +3176,7 @@ enum nl80211_attrs {
+ 	NL80211_ATTR_EHT_CAPABILITY,
+ 
+ 	/* add attributes here, update the policy in nl80211.c */
++	NL80211_ATTR_START_DISABLED = 999,
+ 
+ 	__NL80211_ATTR_AFTER_LAST,
+ 	NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
+-- 
+2.18.0
+
