diff -u -r a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c --- a/src/wl/sys/wl_linux.c 2022-03-23 00:35:42.930416350 +0000 +++ b/src/wl/sys/wl_linux.c 2022-03-23 00:40:12.903771013 +0000 @@ -2980,7 +2980,11 @@ else dev->type = ARPHRD_IEEE80211_RADIOTAP; +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) bcopy(wl->dev->dev_addr, dev->dev_addr, ETHER_ADDR_LEN); +#else + eth_hw_addr_set(wl->dev, dev->dev_addr); +#endif #if defined(WL_USE_NETDEV_OPS) dev->netdev_ops = &wl_netdev_monitor_ops; @@ -3261,7 +3265,11 @@ static ssize_t wl_proc_read(struct file *filp, char __user *buffer, size_t length, loff_t *offp) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) wl_info_t * wl = PDE_DATA(file_inode(filp)); +#else + wl_info_t * wl = pde_data(file_inode(filp)); +#endif #endif int bcmerror, len; int to_user = 0; @@ -3318,7 +3326,11 @@ static ssize_t wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t *offp) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) wl_info_t * wl = PDE_DATA(file_inode(filp)); +#else + wl_info_t * wl = pde_data(file_inode(filp)); +#endif #endif int from_user = 0; int bcmerror;