diff -u -r a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c --- a/src/wl/sys/wl_cfg80211_hybrid.c 2015-09-18 22:47:30.000000000 +0000 +++ b/src/wl/sys/wl_cfg80211_hybrid.c 2020-10-12 21:20:05.200372484 +0000 @@ -450,7 +450,7 @@ ifr.ifr_data = (caddr_t)&ioc; fs = get_fs(); - set_fs(get_ds()); + set_fs(KERNEL_DS); #if defined(WL_USE_NETDEV_OPS) err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); #else diff -u -r a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c --- a/src/wl/sys/wl_iw.c 2015-09-18 22:47:30.000000000 +0000 +++ b/src/wl/sys/wl_iw.c 2020-10-12 21:19:51.426836804 +0000 @@ -117,7 +117,7 @@ ifr.ifr_data = (caddr_t) &ioc; fs = get_fs(); - set_fs(get_ds()); + set_fs(KERNEL_DS); #if defined(WL_USE_NETDEV_OPS) ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); #else diff -u -r a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c --- a/src/wl/sys/wl_linux.c 2020-10-12 21:19:15.256305165 +0000 +++ b/src/wl/sys/wl_linux.c 2020-10-12 21:20:38.687530895 +0000 @@ -1643,7 +1643,7 @@ goto done2; } - if (segment_eq(get_fs(), KERNEL_DS)) + if (get_fs().seg == KERNEL_DS.seg) buf = ioc.buf; else if (ioc.buf) {