diff --git a/rtl8812au-openhd-dkms-git/.SRCINFO b/rtl8812au-openhd-dkms-git/.SRCINFO index b74250d..93dfb59 100644 --- a/rtl8812au-openhd-dkms-git/.SRCINFO +++ b/rtl8812au-openhd-dkms-git/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = rtl8812au-openhd-dkms-git pkgdesc = Realtek RTL88xxAU WiFi USB driver (with OpenHD patches) - pkgver = 5.2.20.2.r849.gf21bbe9 - pkgrel = 3 + pkgver = 5.2.20.2.r855.g28580eb + pkgrel = 4 url = https://github.com/OpenHD/rtl8812au arch = any license = GPL2 @@ -11,6 +11,6 @@ pkgbase = rtl8812au-openhd-dkms-git source = git+https://github.com/OpenHD/rtl8812au.git source = 0001-Update-beacon-change-signature-to-fix-build-on-recen.patch sha256sums = SKIP - sha256sums = b26147fda4d78d8cc8f7d5f5d331e43a1ffeecb5596e703e3da6a7461a0fd7b2 + sha256sums = 040518c8e58cadec1cdafa147d916be25c4c66eb0508726ef6448896e5d4a917 pkgname = rtl8812au-openhd-dkms-git diff --git a/rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch b/rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch index b2b29c8..246ffa8 100644 --- a/rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch +++ b/rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch @@ -1,49 +1,62 @@ -From 08165cf5c1cb5186b4a1e04fe29eaf3ab6cf4c05 Mon Sep 17 00:00:00 2001 -From: Rihards Skuja -Date: Thu, 29 Feb 2024 12:23:32 +0200 -Subject: [PATCH] Update beacon change signature to fix build on recent kernels - ---- - os_dep/linux/ioctl_cfg80211.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c -index c26bb07..facfd33 100644 +index c26bb07..d2d50c9 100644 --- a/os_dep/linux/ioctl_cfg80211.c +++ b/os_dep/linux/ioctl_cfg80211.c -@@ -4600,24 +4600,24 @@ static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev, +@@ -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, struct cfg80211_ap_update *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, info->beacon.head, info->beacon.head_len, info->beacon.tail, info->beacon.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(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(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(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*/); ++ 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*/); } } --- -2.44.0 - +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, diff --git a/rtl8812au-openhd-dkms-git/PKGBUILD b/rtl8812au-openhd-dkms-git/PKGBUILD index f5feee2..7930446 100644 --- a/rtl8812au-openhd-dkms-git/PKGBUILD +++ b/rtl8812au-openhd-dkms-git/PKGBUILD @@ -2,9 +2,9 @@ pkgname=rtl8812au-openhd-dkms-git _modname=88XXau_ohd -pkgver=5.2.20.2.r849.gf21bbe9 +pkgver=5.2.20.2.r855.g28580eb _pkgver=5.2.20.2 -pkgrel=3 +pkgrel=4 pkgdesc='Realtek RTL88xxAU WiFi USB driver (with OpenHD patches)' arch=(any) url='https://github.com/OpenHD/rtl8812au' @@ -12,7 +12,8 @@ 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' 'b26147fda4d78d8cc8f7d5f5d331e43a1ffeecb5596e703e3da6a7461a0fd7b2') +sha256sums=('SKIP' + '040518c8e58cadec1cdafa147d916be25c4c66eb0508726ef6448896e5d4a917') pkgver() { cd "${srcdir}/rtl8812au"