rtl8812au-openhd-dkms-git: fix build on 6.9

This commit is contained in:
Rihards Skuja 2024-06-13 23:08:54 +03:00
parent 83d2944bb9
commit f63adef198
Signed by: rhssk
GPG Key ID: BABE7EB1F38C7EF6
4 changed files with 24 additions and 72 deletions

View File

@ -1,7 +1,7 @@
pkgbase = rtl8812au-openhd-dkms-git
pkgdesc = Realtek RTL88xxAU WiFi USB driver (with OpenHD patches)
pkgver = 5.2.20.2.r855.g28580eb
pkgrel = 4
pkgver = 5.2.20.2.r878.gc070e02
pkgrel = 5
url = https://github.com/OpenHD/rtl8812au
arch = any
license = GPL2
@ -9,8 +9,8 @@ pkgbase = rtl8812au-openhd-dkms-git
depends = dkms
depends = bc
source = git+https://github.com/OpenHD/rtl8812au.git
source = 0001-Update-beacon-change-signature-to-fix-build-on-recen.patch
source = fix-6.9.0-build.patch
sha256sums = SKIP
sha256sums = 040518c8e58cadec1cdafa147d916be25c4c66eb0508726ef6448896e5d4a917
sha256sums = a527f89fecb9fbf8249e2e72859560f4381376873bb8a408047870df07a8d79b
pkgname = rtl8812au-openhd-dkms-git

View File

@ -1,62 +0,0 @@
diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
index c26bb07..d2d50c9 100644
--- a/os_dep/linux/ioctl_cfg80211.c
+++ b/os_dep/linux/ioctl_cfg80211.c
@@ -4600,24 +4600,36 @@ static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev,
return ret;
}
-static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_beacon_data *info)
+static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
+ struct cfg80211_ap_update *info
+#else
+ struct cfg80211_beacon_data *info
+#endif
+)
{
int ret = 0;
_adapter *adapter = (_adapter *)rtw_netdev_priv(ndev);
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
+ struct cfg80211_beacon_data *beacon_info = &info->beacon;
+#else
+ struct cfg80211_beacon_data *beacon_info = info;
+#endif
RTW_INFO(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
- ret = rtw_add_beacon(adapter, info->head, info->head_len, info->tail, info->tail_len);
+ ret = rtw_add_beacon(adapter, beacon_info->head, beacon_info->head_len,
+ beacon_info->tail, beacon_info->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->proberesp_ies && info->proberesp_ies_len > 0) {
- rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->proberesp_ies,
- info->proberesp_ies_len, 0x2/*PROBE_RESP*/);
+ if(beacon_info->proberesp_ies && beacon_info->proberesp_ies_len > 0) {
+ rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)beacon_info->proberesp_ies,
+ beacon_info->proberesp_ies_len, 0x2/*PROBE_RESP*/);
}
- if(info->assocresp_ies && info->assocresp_ies_len > 0) {
- rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->assocresp_ies,
- info->assocresp_ies_len, 0x4/*ASSOC_RESP*/);
+ if(beacon_info->assocresp_ies && beacon_info->assocresp_ies_len > 0) {
+ rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)beacon_info->assocresp_ies,
+ beacon_info->assocresp_ies_len, 0x4/*ASSOC_RESP*/);
}
}
diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c
index 95dc47f..5a12ae6 100644
--- a/os_dep/linux/usb_intf.c
+++ b/os_dep/linux/usb_intf.c
@@ -329,7 +329,7 @@ struct rtw_usb_drv usb_drv = {
.usbdrv.supports_autosuspend = 1,
#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 8, 0))
.usbdrv.drvwrap.driver.shutdown = rtw_dev_shutdown,
#else
.usbdrv.driver.shutdown = rtw_dev_shutdown,

View File

@ -2,18 +2,17 @@
pkgname=rtl8812au-openhd-dkms-git
_modname=88XXau_ohd
pkgver=5.2.20.2.r855.g28580eb
pkgver=5.2.20.2.r878.gc070e02
_pkgver=5.2.20.2
pkgrel=4
pkgrel=5
pkgdesc='Realtek RTL88xxAU WiFi USB driver (with OpenHD patches)'
arch=(any)
url='https://github.com/OpenHD/rtl8812au'
license=(GPL2)
depends=('dkms' 'bc')
makedepends=('git')
source=('git+https://github.com/OpenHD/rtl8812au.git' '0001-Update-beacon-change-signature-to-fix-build-on-recen.patch')
sha256sums=('SKIP'
'040518c8e58cadec1cdafa147d916be25c4c66eb0508726ef6448896e5d4a917')
source=('git+https://github.com/OpenHD/rtl8812au.git' 'fix-6.9.0-build.patch')
sha256sums=('SKIP' 'a527f89fecb9fbf8249e2e72859560f4381376873bb8a408047870df07a8d79b')
pkgver() {
cd "${srcdir}/rtl8812au"
@ -22,7 +21,7 @@ pkgver() {
prepare() {
cd "${srcdir}/rtl8812au"
patch -p1 -i "$srcdir/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch"
patch -p1 -i "$srcdir/fix-6.9.0-build.patch"
}
package() {

View File

@ -0,0 +1,15 @@
diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
index e26dbda..b47021d 100644
--- a/os_dep/linux/ioctl_cfg80211.c
+++ b/os_dep/linux/ioctl_cfg80211.c
@@ -408,7 +408,9 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset, u8
if (ret != _SUCCESS)
goto exit;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 9, 0))
+ cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0))
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0, 0);
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);