Search Linux Wireless

Compilation error in rtl8821ce driver and possible fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

A few days ago I downloaded rtl8821ce wireless network driver from endlessm/
linux repository (master branch), and I managed to build module for kernel 
4.19.16 on my Linux laptop, a HP 15-DB0035NL with an AMD Ryzen 5 2500U CPU.

When upgrading to kernel 4.20.5 I could not build the module anymore, the 
compilation stopped with an error about the use of get_monotonic_boottime() 
function, which apparently was deprecated and has been removed.

I’m no expert in kernel development, however I discovered that such function 
has been superseded by ktime_get_boottime_ts64(), and so I tried to use it in 
place of get_monotonic_boottime(). The resulting code compiled correctly, and 
the module seems to load and work without problem.

The code I changed is in the rtl8821ce/os_dep/linux/ioctl_cfg80211.c (lines 
338-339), you can find a patchfile attached here.

Sorry for any mistake I may have done in this report, this is the first time I 
do such a thing.

greetings
Francesco Napoleoni
--- ioctl_cfg80211.c.old	2019-02-02 01:15:41.407123709 +0100
+++ ioctl_cfg80211.c	2019-02-02 01:16:18.459536625 +0100
@@ -335,8 +335,8 @@
 static u64 rtw_get_systime_us(void)
 {
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39))
-	struct timespec ts;
-	get_monotonic_boottime(&ts);
+	struct timespec64 ts;
+	ktime_get_boottime_ts64(&ts);
 	return ((u64)ts.tv_sec * 1000000) + ts.tv_nsec / 1000;
 #else
 	struct timeval tv;

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux