Since Linux 4.3, rdtscl() is no longer available and native_read_tsc() is renamed to rdtsc(). Move the macro contents in-line and call the new function. References: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=fe47ae6e1a5005b2e82f7eab57b5c3820453293a https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=4ea1636b04dbd66536fa387bae2eea463efc705b --- src/shared/linux_osl.c | 4 ++++ 1 file changed, 4 insertions(+) diff -Nurp broadcom-wl-6.30.223.271.orig/src/shared/linux_osl.c broadcom-wl-6.30.223.271/src/shared/linux_osl.c --- broadcom-wl-6.30.223.271.orig/src/shared/linux_osl.c 2015-09-19 01:47:30.000000000 +0300 +++ broadcom-wl-6.30.223.271/src/shared/linux_osl.c 2020-01-11 01:17:02.688960782 +0200 @@ -932,7 +932,11 @@ osl_getcycles(void) uint cycles; #if defined(__i386__) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) + cycles = (u32)rdtsc(); +#else rdtscl(cycles); +#endif #else cycles = 0; #endif