armbian_build/patch/misc/wireless-rtl8189fs-fix-compilation-with-6.7-kernel.patch

56 lines
2.1 KiB
Diff

From 2f2daa387fbaaef5290895ebe3e064aef40b667a Mon Sep 17 00:00:00 2001
From: Gunjan Gupta <viraniac@gmail.com>
Date: Sat, 23 Dec 2023 06:56:11 +0000
Subject: [PATCH 3/4] wireless: rtl8189fs: fix compilation with 6.7 kernel
---
.../rtl8189fs/os_dep/linux/ioctl_cfg80211.c | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/net/wireless/rtl8189fs/os_dep/linux/ioctl_cfg80211.c b/drivers/net/wireless/rtl8189fs/os_dep/linux/ioctl_cfg80211.c
index 42bc69b2cafa..8ea27f1e5fb6 100644
--- a/drivers/net/wireless/rtl8189fs/os_dep/linux/ioctl_cfg80211.c
+++ b/drivers/net/wireless/rtl8189fs/os_dep/linux/ioctl_cfg80211.c
@@ -4988,6 +4988,29 @@ static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev,
return ret;
}
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
+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);
+
+ RTW_INFO(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);
+
+ // In cases like WPS, the proberesp and assocresp IEs vary from the beacon, and need to be explicitly set
+ if (ret == 0) {
+ if (info->beacon.proberesp_ies && info->beacon.proberesp_ies_len > 0)
+ rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *) info->beacon.proberesp_ies, info->beacon.proberesp_ies_len, 0x2 /*PROBE_RESP*/);
+
+ if (info->beacon.assocresp_ies && info->beacon.assocresp_ies_len > 0)
+ rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *) info->beacon.assocresp_ies, info->beacon.assocresp_ies_len, 0x4 /*ASSOC_RESP*/);
+ }
+
+ return ret;
+}
+#else
static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_beacon_data *info)
{
@@ -5009,6 +5032,8 @@ static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *nd
return ret;
}
+#endif
+
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,19, 2))
static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev, unsigned int link_id)
#else
--
2.34.1