--- /dev/null
+--- a/os_dep/linux/ioctl_cfg80211.c
++++ b/os_dep/linux/ioctl_cfg80211.c
+@@ -4020,6 +4020,18 @@ static int cfg80211_rtw_start_ap(struct
+ return ret;
+ }
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,7,0))|| defined(BUILD_OPENWRT)
++static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
++ struct cfg80211_ap_update *info)
++{
++ int ret = 0;
++ _adapter *adapter = (_adapter *)rtw_netdev_priv(ndev);
++
++ DBG_871X(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
++
++ ret = rtw_add_beacon(adapter, info->beacon.head, info->beacon.head_len,
++ info->beacon.tail, info->beacon.tail_len);
++#else
+ static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
+ struct cfg80211_beacon_data *info)
+ {
+@@ -4029,6 +4041,7 @@ static int cfg80211_rtw_change_beacon(st
+ DBG_871X(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
+
+ ret = rtw_add_beacon(adapter, info->head, info->head_len, info->tail, info->tail_len);
++#endif
+
+ return ret;
+ }