Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rtl88x2bu for openSUSE:Factory checked in at 2026-07-20 09:58:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rtl88x2bu (Old) and /work/SRC/openSUSE:Factory/.rtl88x2bu.new.24530 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rtl88x2bu" Mon Jul 20 09:58:34 2026 rev:12 rq:1366551 version:5.8.7.1+git20260615.fc158d1 Changes: -------- --- /work/SRC/openSUSE:Factory/rtl88x2bu/rtl88x2bu.changes 2025-10-04 18:53:58.112584458 +0200 +++ /work/SRC/openSUSE:Factory/.rtl88x2bu.new.24530/rtl88x2bu.changes 2026-07-20 10:00:40.682831752 +0200 @@ -1,0 +2,14 @@ +Sat Jul 11 12:28:14 UTC 2026 - Eyad Issa <[email protected]> + +- Update to version 5.8.7.1+git20260615.fc158d1: + * docs: Mention successful build for v7.1 + * Fix transition from net_device to wireless_dev II + * Fix transition from net_device to wireless_dev + * Fix accesses on trailing arrays with pointer arithmetic + * docs: Mention successful builds for v7.0 + * docs: Mention successful builds for v6.19 + * Annotate thread_exit() as noreturn + * docs: Mention successful builds for v6.17 and v6.18 + * docs: Add note regarding not using the driver anymore + +------------------------------------------------------------------- Old: ---- rtl88x2bu-5.8.7.1+git20250805.cc1e66f.obscpio New: ---- rtl88x2bu-5.8.7.1+git20260615.fc158d1.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rtl88x2bu.spec ++++++ --- /var/tmp/diff_new_pack.MZmZLs/_old 2026-07-20 10:00:41.510859617 +0200 +++ /var/tmp/diff_new_pack.MZmZLs/_new 2026-07-20 10:00:41.510859617 +0200 @@ -1,7 +1,7 @@ # # spec file for package rtl88x2bu # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: rtl88x2bu -Version: 5.8.7.1+git20250805.cc1e66f +Version: 5.8.7.1+git20260615.fc158d1 Release: 0 Summary: Kernel driver for Realtek 88x2bu wifi cards License: GPL-2.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.MZmZLs/_old 2026-07-20 10:00:41.554861098 +0200 +++ /var/tmp/diff_new_pack.MZmZLs/_new 2026-07-20 10:00:41.558861233 +0200 @@ -4,7 +4,7 @@ <param name="url">https://github.com/cilynx/rtl88x2bu.git</param> <param name="filename">rtl88x2bu</param> <param name="versionformat">5.8.7.1+git%cd.%h</param> - <param name="revision">cc1e66fc78463027499b9c5efef68a76c3b936a9</param> + <param name="revision">fc158d1f71b9e5dfcd1fccaf4d28725b65086e3b</param> <param name="changesgenerate">enable</param> </service> <service name="set_version" mode="manual" /> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.MZmZLs/_old 2026-07-20 10:00:41.586862175 +0200 +++ /var/tmp/diff_new_pack.MZmZLs/_new 2026-07-20 10:00:41.590862310 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/cilynx/rtl88x2bu.git</param> - <param name="changesrevision">cc1e66fc78463027499b9c5efef68a76c3b936a9</param></service></servicedata> + <param name="changesrevision">fc158d1f71b9e5dfcd1fccaf4d28725b65086e3b</param></service></servicedata> (No newline at EOF) ++++++ rtl88x2bu-5.8.7.1+git20250805.cc1e66f.obscpio -> rtl88x2bu-5.8.7.1+git20260615.fc158d1.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/README.md new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/README.md --- old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/README.md 2025-08-05 00:57:29.000000000 +0200 +++ new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/README.md 2026-06-15 18:07:00.000000000 +0200 @@ -1,6 +1,17 @@ # Pending Deprecation -A few versions ago (around 6.4 IIRC), rtw88x2bu support has been added to the mainline Linux kernel. This repo will be maintained until we either receive a few comments on https://github.com/cilynx/rtl88x2bu/issues/270 that the mainline driver is working well or [MaxG87](https://github.com/MaxG87) and [cilynx](https://github.com/cilynx) agree that no feedback means no one is still using this driver and we make the executive decision to archive it. +A few versions ago (around 6.4 IIRC), rtw88x2bu support has been added to the +mainline Linux kernel. This repo will be maintained until we either receive a +few comments on https://github.com/cilynx/rtl88x2bu/issues/270 that the +mainline driver is working well or [MaxG87](https://github.com/MaxG87) and +[cilynx](https://github.com/cilynx) agree that no feedback means no one is +still using this driver and we make the executive decision to archive it. + +**NOTE:** As of Linux v6.16, the maintainer is no longer using the driver +themself. Due to ongoing stability issues with either the Wifi dongle or the +driver of this repository the maintainer switched to a new Wifi dongle that is +supported by the mainline kernel. Therefore, the maintainer will not be able to +detect subtle issues themself anymore. # Driver for rtl88x2bu wifi adaptors @@ -10,13 +21,14 @@ Build confirmed on: -* Linux version `5.4.0-91-generic` on Linux Mint 20.2 (30 November 2021) -* Linux version `5.15.89` on Manjaro (3 February 2023) -* Linux version `5.19` on Ubuntu 22.4 -* Linux version `6.1.0-9-amd64` on Debian Bookworm -* Linux version `6.1.*` to `6.12.*` (self-compiled) on Debian and Ubuntu 22.04 -* Linux version `6.10.3` to `6.12.10` on Debian Trixie -* Linux version `6.13.0` (self-compiled) on Debian Trixie +- Linux version `5.4.0-91-generic` on Linux Mint 20.2 (30 November 2021) +- Linux version `5.15.89` on Manjaro (3 February 2023) +- Linux version `5.19` on Ubuntu 22.4 +- Linux version `6.1.0-9-amd64` on Debian Bookworm +- Linux version `6.1.*` to `6.12.*` (self-compiled) on Debian and Ubuntu 22.04 +- Linux version `6.10.3` to `6.12.10` on Debian Trixie +- Linux version `6.13.0` (self-compiled) on Debian Trixie +- Linux version `6.17.0` - `7.1` on Cachy OS (`make CC=clang LD=ld.lld -j16`) As of lately the maintainer experienced issues with the driver on Debian Testing, covering several Linux Kernel versions. More details can be found in @@ -39,9 +51,9 @@ If you want to have the driver available at startup, it will be convenient to register it in DKMS. This can be done using the script `deploy.sh`, for either - * all kernels, - * a specific kernel, or - * the currently active kernel. +- all kernels, +- a specific kernel, or +- the currently active kernel. Please consult `--help` for more information and consider reading the script before executing it. @@ -57,7 +69,6 @@ sudo modprobe cfg80211 - Another reported cause was that old deployments of the driver were still present in the system directories. One reported solution was to forcibly remove all old driver modules. **This is a drastic measure. It may prevent you from @@ -70,7 +81,6 @@ find /lib/modules -name cfg80211.ko -ls sudo rm -f /lib/modules/*/updates/net/wireless/cfg80211.ko - ### Linux 5.18+ and RTW88 Driver Starting from Linux 5.18, some distributions have added experimental RTW88 USB @@ -92,11 +102,10 @@ Then reboot your system. - ### Secure Boot Secure Boot will prevent the module from loading as it isn't signed. In order -to check whether you have secure boot enabled, you couly run `mokutil +to check whether you have secure boot enabled, you couly run `mokutil --sb-state`. If you see something like `SecureBoot disabled`, you do not take to setup module signing. @@ -104,7 +113,6 @@ or UEFI or you could set up signing the module. How to do so is described [here](https://github.com/cilynx/rtl88x2bu/issues/210#issuecomment-1166402943). - ## Raspberry Pi Access Point ```bash @@ -178,6 +186,7 @@ ``` If you want 802.11an speeds 144Mbps you could use this config below: + ``` # Configure hostapd sudo tee /etc/hostapd/hostapd.conf <<EOF @@ -223,6 +232,7 @@ Tx excessive retries:0 Invalid misc:0 Missed beacon:0 ``` + If you want to setup [masquerading](https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md) or diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/core/rtw_br_ext.c new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/core/rtw_br_ext.c --- old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/core/rtw_br_ext.c 2025-08-05 00:57:29.000000000 +0200 +++ new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/core/rtw_br_ext.c 2026-06-15 18:07:00.000000000 +0200 @@ -82,6 +82,12 @@ PPPoE |type| SID | AC MAC | -----------------------------------------------------------------*/ +// Calculate access of the trailing data position of a struct. This is used to +// fix the regressions introduced by Kernel commit +// 7717fbb14028be5735acb911aeb7553b7c662418. It follows the example shown in +// that commit. Typical values for offsets are MAGIC_CODE_LEN or 0. However, +// other values have been observed too. +#define trailing_data_pos(ptr, offset) ((char *)((ptr) + 1) + (offset)) /* Find a tag in pppoe frame and return the pointer */ static __inline__ unsigned char *__nat25_find_pppoe_tag(struct pppoe_hdr *ph, unsigned short type) @@ -89,7 +95,7 @@ unsigned char *cur_ptr, *start_ptr; unsigned short tagLen, tagType; - start_ptr = cur_ptr = (unsigned char *)ph->tag; + start_ptr = cur_ptr = trailing_data_pos(ph, 0); while ((cur_ptr - start_ptr) < ntohs(ph->length)) { /* prevent un-alignment access */ tagType = (unsigned short)((cur_ptr[0] << 8) + cur_ptr[1]); @@ -115,9 +121,9 @@ skb_put(skb, data_len); /* have a room for new tag */ - memmove(((unsigned char *)ph->tag + data_len), (unsigned char *)ph->tag, ntohs(ph->length)); + memmove(trailing_data_pos(ph, data_len), trailing_data_pos(ph, 0), ntohs(ph->length)); ph->length = htons(ntohs(ph->length) + data_len); - memcpy((unsigned char *)ph->tag, tag, data_len); + memcpy(trailing_data_pos(ph, 0), tag, data_len); return data_len; } @@ -604,9 +610,6 @@ _exit_critical_bh(&priv->br_ext_lock, &irqL); } - - - /* * NAT2.5 interface */ @@ -1148,8 +1151,8 @@ return -1; } - memcpy(tag->tag_data + MAGIC_CODE_LEN + RTL_RELAY_TAG_LEN, - pOldTag->tag_data, old_tag_len); + memcpy(trailing_data_pos(tag, MAGIC_CODE_LEN + RTL_RELAY_TAG_LEN), + trailing_data_pos(pOldTag, 0), old_tag_len); if (skb_pull_and_merge(skb, (unsigned char *)pOldTag, TAG_HDR_LEN + old_tag_len) < 0) { DEBUG_ERR("call skb_pull_and_merge() failed in PADI/R packet!\n"); @@ -1162,9 +1165,9 @@ tag->tag_len = htons(MAGIC_CODE_LEN + RTL_RELAY_TAG_LEN + old_tag_len); /* insert the magic_code+client mac in relay tag */ - pMagic = (unsigned short *)tag->tag_data; + pMagic = (unsigned short *)trailing_data_pos(tag, 0); *pMagic = htons(MAGIC_CODE); - memcpy(tag->tag_data + MAGIC_CODE_LEN, skb->data + ETH_ALEN, ETH_ALEN); + memcpy(trailing_data_pos(tag, MAGIC_CODE_LEN), skb->data + ETH_ALEN, ETH_ALEN); /* Add relay tag */ if (__nat25_add_pppoe_tag(skb, tag) < 0) @@ -1225,14 +1228,14 @@ return -1; } - pMagic = (unsigned short *)tag->tag_data; + pMagic = (unsigned short *)trailing_data_pos(tag, 0); if (ntohs(*pMagic) != MAGIC_CODE) { DEBUG_ERR("Can't find MAGIC_CODE in %s packet!\n", (ph->code == PADO_CODE ? "PADO" : "PADS")); return -1; } - memcpy(skb->data, tag->tag_data + MAGIC_CODE_LEN, ETH_ALEN); + memcpy(skb->data, trailing_data_pos(tag, MAGIC_CODE_LEN), ETH_ALEN); if (tagLen > MAGIC_CODE_LEN + RTL_RELAY_TAG_LEN) offset = TAG_HDR_LEN; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/include/osdep_service.h new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/include/osdep_service.h --- old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/include/osdep_service.h 2025-08-05 00:57:29.000000000 +0200 +++ new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/include/osdep_service.h 2026-06-15 18:07:00.000000000 +0200 @@ -421,7 +421,7 @@ printf("%s", "RTKTHREAD_enter"); #endif } -void thread_exit(_completion *comp); +void __noreturn thread_exit(_completion *comp); void _rtw_init_completion(_completion *comp); void _rtw_wait_for_comp_timeout(_completion *comp); void _rtw_wait_for_comp(_completion *comp); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/os_dep/linux/ioctl_cfg80211.c new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/os_dep/linux/ioctl_cfg80211.c --- old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/os_dep/linux/ioctl_cfg80211.c 2025-08-05 00:57:29.000000000 +0200 +++ new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/os_dep/linux/ioctl_cfg80211.c 2026-06-15 18:07:00.000000000 +0200 @@ -1754,20 +1754,28 @@ return ret; } -static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev +static int cfg80211_rtw_add_key(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) +struct net_device *ndev, +#else +struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) - , int link_id + int link_id, #endif - , u8 key_index + u8 key_index, #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE) - , bool pairwise + bool pairwise, #endif - , const u8 *mac_addr, struct key_params *params) + const u8 *mac_addr, struct key_params *params) { char *alg_name; u32 param_len; struct ieee_param *param = NULL; int ret = 0; + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; + #endif _adapter *padapter = (_adapter *)rtw_netdev_priv(ndev); struct wireless_dev *rtw_wdev = padapter->rtw_wdev; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; @@ -1901,16 +1909,21 @@ } -static int cfg80211_rtw_get_key(struct wiphy *wiphy, struct net_device *ndev +static int cfg80211_rtw_get_key(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) +struct net_device *ndev, +#else +struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) - , int link_id + int link_id, #endif - , u8 keyid + u8 keyid, #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE) - , bool pairwise + bool pairwise, #endif - , const u8 *mac_addr, void *cookie - , void (*callback)(void *cookie, struct key_params *)) + const u8 *mac_addr, void *cookie, + void (*callback)(void *cookie, struct key_params *)) { #define GET_KEY_PARAM_FMT_S " keyid=%d" #define GET_KEY_PARAM_ARG_S , keyid @@ -1924,6 +1937,9 @@ #define GET_KEY_PARAM_FMT_E ", addr=%pM" #define GET_KEY_PARAM_ARG_E , mac_addr + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; + #endif _adapter *adapter = (_adapter *)rtw_netdev_priv(ndev); struct security_priv *sec = &adapter->securitypriv; struct sta_priv *stapriv = &adapter->stapriv; @@ -2069,7 +2085,12 @@ return ret; } -static int cfg80211_rtw_del_key(struct wiphy *wiphy, struct net_device *ndev, +static int cfg80211_rtw_del_key(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) +struct net_device *ndev, +#else +struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) int link_id, #endif @@ -2079,6 +2100,9 @@ u8 key_index, const u8 *mac_addr) #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) */ { + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; + #endif _adapter *padapter = (_adapter *)rtw_netdev_priv(ndev); struct security_priv *psecuritypriv = &padapter->securitypriv; @@ -2143,26 +2167,32 @@ } -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) int cfg80211_rtw_set_default_mgmt_key(struct wiphy *wiphy, - struct net_device *ndev +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev, +#else + struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) - , int link_id + int link_id, #endif - , u8 key_index) + u8 key_index) { #define SET_DEF_KEY_PARAM_FMT " key_index=%d" #define SET_DEF_KEY_PARAM_ARG , key_index RTW_INFO(FUNC_NDEV_FMT SET_DEF_KEY_PARAM_FMT + #if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) "\n", FUNC_NDEV_ARG(ndev) + #else + "\n", FUNC_NDEV_ARG(wdev->netdev) + #endif SET_DEF_KEY_PARAM_ARG ); return 0; } -#endif #if defined(CONFIG_GTK_OL) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)) static int cfg80211_rtw_set_rekey_data(struct wiphy *wiphy, @@ -2295,7 +2325,11 @@ #endif /* CONFIG_RTW_MESH */ static int cfg80211_rtw_get_station(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) struct net_device *ndev, +#else + struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)) u8 *mac, #else @@ -2303,6 +2337,9 @@ #endif struct station_info *sinfo) { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; +#endif int ret = 0; _adapter *padapter = (_adapter *)rtw_netdev_priv(ndev); struct mlme_priv *pmlmepriv = &padapter->mlmepriv; @@ -4640,7 +4677,11 @@ sinfo.filled = STATION_INFO_ASSOC_REQ_IES; sinfo.assoc_req_ies = pmgmt_frame + WLAN_HDR_A3_LEN + ie_offset; sinfo.assoc_req_ies_len = frame_len - WLAN_HDR_A3_LEN - ie_offset; + #if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) cfg80211_new_sta(ndev, get_addr2_ptr(pmgmt_frame), &sinfo, GFP_ATOMIC); + #else + cfg80211_new_sta(ndev->ieee80211_ptr, get_addr2_ptr(pmgmt_frame), &sinfo, GFP_ATOMIC); + #endif } #else /* defined(RTW_USE_CFG80211_STA_EVENT) */ channel = pmlmeext->cur_channel; @@ -4686,7 +4727,11 @@ RTW_INFO(FUNC_ADPT_FMT"\n", FUNC_ADPT_ARG(padapter)); #if defined(RTW_USE_CFG80211_STA_EVENT) || defined(COMPAT_KERNEL_RELEASE) + #if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) cfg80211_del_sta(ndev, da, GFP_ATOMIC); + #else + cfg80211_del_sta(ndev->ieee80211_ptr, da, GFP_ATOMIC); + #endif #else /* defined(RTW_USE_CFG80211_STA_EVENT) */ channel = pmlmeext->cur_channel; freq = rtw_ch2freq(channel); @@ -5626,7 +5671,12 @@ #endif /* DBG_RTW_CFG80211_STA_PARAM */ } -static int cfg80211_rtw_add_station(struct wiphy *wiphy, struct net_device *ndev, +static int cfg80211_rtw_add_station(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev, +#else + struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)) u8 *mac, #else @@ -5634,6 +5684,9 @@ #endif struct station_parameters *params) { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; +#endif int ret = 0; _adapter *padapter = (_adapter *)rtw_netdev_priv(ndev); #if defined(CONFIG_TDLS) || defined(CONFIG_RTW_MESH) @@ -5794,7 +5847,12 @@ return ret; } -static int cfg80211_rtw_del_station(struct wiphy *wiphy, struct net_device *ndev, +static int cfg80211_rtw_del_station(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev, +#else + struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)) u8 *mac #elif (LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)) @@ -5804,6 +5862,9 @@ #endif ) { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; +#endif int ret = 0; _irqL irqL; _list *phead, *plist; @@ -5900,7 +5961,12 @@ } -static int cfg80211_rtw_change_station(struct wiphy *wiphy, struct net_device *ndev, +static int cfg80211_rtw_change_station(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev, +#else + struct wireless_dev *wdev, +#endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)) u8 *mac, #else @@ -5908,6 +5974,9 @@ #endif struct station_parameters *params) { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; +#endif #ifdef CONFIG_RTW_MESH _adapter *adapter = (_adapter *)rtw_netdev_priv(ndev); struct sta_priv *stapriv = &adapter->stapriv; @@ -6055,11 +6124,19 @@ return psta; } -static int cfg80211_rtw_dump_station(struct wiphy *wiphy, struct net_device *ndev, +static int cfg80211_rtw_dump_station(struct wiphy *wiphy, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev, +#else + struct wireless_dev *wdev, +#endif int idx, u8 *mac, struct station_info *sinfo) { #define DBG_DUMP_STATION 0 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0)) + struct net_device *ndev = wdev->netdev; +#endif int ret = 0; _irqL irqL; _adapter *padapter = (_adapter *)rtw_netdev_priv(ndev); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/os_dep/osdep_service.c new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/os_dep/osdep_service.c --- old/rtl88x2bu-5.8.7.1+git20250805.cc1e66f/os_dep/osdep_service.c 2025-08-05 00:57:29.000000000 +0200 +++ new/rtl88x2bu-5.8.7.1+git20260615.fc158d1/os_dep/osdep_service.c 2026-06-15 18:07:00.000000000 +0200 @@ -1296,7 +1296,7 @@ #endif } -inline void thread_exit(_completion *comp) +inline void __noreturn thread_exit(_completion *comp) { #ifdef PLATFORM_LINUX #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) ++++++ rtl88x2bu.obsinfo ++++++ --- /var/tmp/diff_new_pack.MZmZLs/_old 2026-07-20 10:00:42.978909022 +0200 +++ /var/tmp/diff_new_pack.MZmZLs/_new 2026-07-20 10:00:42.982909157 +0200 @@ -1,5 +1,5 @@ name: rtl88x2bu -version: 5.8.7.1+git20250805.cc1e66f -mtime: 1754348249 -commit: cc1e66fc78463027499b9c5efef68a76c3b936a9 +version: 5.8.7.1+git20260615.fc158d1 +mtime: 1781539620 +commit: fc158d1f71b9e5dfcd1fccaf4d28725b65086e3b
