diff -Naur hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_iw.h hybrid-v35_64-nodebug-pcoem-6_30_223_271-021_kernel_5.17_adaptation/src/wl/sys/wl_iw.h --- hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_iw.h 2020-12-29 18:29:39.463940664 +0100 +++ hybrid-v35_64-nodebug-pcoem-6_30_223_271-021_kernel_5.17_adaptation/src/wl/sys/wl_iw.h 2022-04-01 10:25:05.515054893 +0200 @@ -70,7 +70,9 @@ #define WL_IW_RSSI_EXCELLENT -57 #define WL_IW_RSSI_INVALID 0 #define MAX_WX_STRING 80 +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) #define isprint(c) bcm_isprint(c) +#endif #define WL_IW_SET_ACTIVE_SCAN (SIOCIWFIRSTPRIV+1) #define WL_IW_GET_RSSI (SIOCIWFIRSTPRIV+3) #define WL_IW_SET_PASSIVE_SCAN (SIOCIWFIRSTPRIV+5) diff -Naur hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_linux.c hybrid-v35_64-nodebug-pcoem-6_30_223_271-021_kernel_5.17_adaptation/src/wl/sys/wl_linux.c --- hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_linux.c 2020-12-29 21:55:44.899067286 +0100 +++ hybrid-v35_64-nodebug-pcoem-6_30_223_271-021_kernel_5.17_adaptation/src/wl/sys/wl_linux.c 2022-04-01 10:00:24.985252480 +0200 @@ -638,7 +638,11 @@ WL_ERROR(("wl%d: Error setting MAC ADDRESS\n", unit)); } #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) bcopy(&wl->pub->cur_etheraddr, dev->dev_addr, ETHER_ADDR_LEN); +#else + dev_addr_mod(dev, 0, &wl->pub->cur_etheraddr, ETHER_ADDR_LEN); +#endif online_cpus = 1; @@ -1862,7 +1866,11 @@ WL_LOCK(wl); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) bcopy(sa->sa_data, dev->dev_addr, ETHER_ADDR_LEN); +#else + dev_addr_mod(dev, 0, sa->sa_data, ETHER_ADDR_LEN); +#endif err = wlc_iovar_op(wl->wlc, "cur_etheraddr", NULL, 0, sa->sa_data, ETHER_ADDR_LEN, IOV_SET, (WL_DEV_IF(dev))->wlcif); WL_UNLOCK(wl); @@ -3054,7 +3062,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 + dev_addr_mod(dev, 0, wl->dev->dev_addr, ETHER_ADDR_LEN); +#endif #if defined(WL_USE_NETDEV_OPS) dev->netdev_ops = &wl_netdev_monitor_ops; @@ -3335,8 +3347,12 @@ 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; char tmp[8]; @@ -3392,8 +3408,12 @@ 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;