From 92f8278d8b68617293963a6e6ec6a264695cfc67 Mon Sep 17 00:00:00 2001 From: Sophie Brun Date: Wed, 18 May 2022 17:49:41 +0200 Subject: [PATCH] Add a patch to fix build build with kernel 5.17 --- debian/patches/add-support-kernel-5.17.patch | 72 ++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 73 insertions(+) create mode 100644 debian/patches/add-support-kernel-5.17.patch diff --git a/debian/patches/add-support-kernel-5.17.patch b/debian/patches/add-support-kernel-5.17.patch new file mode 100644 index 0000000..833491f --- /dev/null +++ b/debian/patches/add-support-kernel-5.17.patch @@ -0,0 +1,72 @@ +From: Sophie Brun +Date: Wed, 18 May 2022 17:47:55 +0200 +Subject: Build support with kernel v5.17 + + +Origin: https://github.com/aircrack-ng/rtl8188eus/commit/13cc38399eb44f234a52dde5f94509e54a09c71f +--- + os_dep/linux/os_intfs.c | 8 ++++++++ + os_dep/linux/rtw_proc.c | 4 ++++ + os_dep/osdep_service.c | 4 ++++ + 3 files changed, 16 insertions(+) + +diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c +index bd7da8b..f006fc8 100644 +--- a/os_dep/linux/os_intfs.c ++++ b/os_dep/linux/os_intfs.c +@@ -1199,7 +1199,11 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *addr) + } + + _rtw_memcpy(adapter_mac_addr(padapter), sa->sa_data, ETH_ALEN); /* set mac addr to adapter */ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) ++ eth_hw_addr_set(pnetdev, sa->sa_data); ++#else + _rtw_memcpy(pnetdev->dev_addr, sa->sa_data, ETH_ALEN); /* set mac addr to net_device */ ++#endif + + #if 0 + if (rtw_is_hw_init_completed(padapter)) { +@@ -1628,7 +1632,11 @@ int rtw_os_ndev_register(_adapter *adapter, const char *name) + /* alloc netdev name */ + rtw_init_netdev_name(ndev, name); + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) ++ eth_hw_addr_set(ndev, adapter_mac_addr(adapter)); ++#else + _rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN); ++#endif + #if defined(CONFIG_NET_NS) + dev_net_set(ndev, wiphy_net(adapter_to_wiphy(adapter))); + #endif //defined(CONFIG_NET_NS) +diff --git a/os_dep/linux/rtw_proc.c b/os_dep/linux/rtw_proc.c +index 8a0fd3e..8b1a424 100644 +--- a/os_dep/linux/rtw_proc.c ++++ b/os_dep/linux/rtw_proc.c +@@ -45,6 +45,10 @@ inline struct proc_dir_entry *get_rtw_drv_proc(void) + #define get_proc_net init_net.proc_net + #endif + ++#if(LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) ++#define PDE_DATA(inode) pde_data(inode) ++#endif ++ + inline struct proc_dir_entry *rtw_proc_create_dir(const char *name, struct proc_dir_entry *parent, void *data) + { + struct proc_dir_entry *entry; +diff --git a/os_dep/osdep_service.c b/os_dep/osdep_service.c +index 81b951d..7367bca 100644 +--- a/os_dep/osdep_service.c ++++ b/os_dep/osdep_service.c +@@ -1268,8 +1268,12 @@ u32 _rtw_down_sema(_sema *sema) + inline void thread_exit(_completion *comp) + { + #ifdef PLATFORM_LINUX ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) ++ kthread_complete_and_exit(comp, 0); ++#else + complete_and_exit(comp, 0); + #endif ++#endif + + #ifdef PLATFORM_FREEBSD + printf("%s", "RTKTHREAD_exit"); diff --git a/debian/patches/series b/debian/patches/series index f1066a3..1470404 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ Change-dkms-version.patch +add-support-kernel-5.17.patch