1 diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
2 index 1270d6da22ba..ec120cf7d74c 100644
3 --- a/src/wl/sys/wl_linux.c
4 +++ b/src/wl/sys/wl_linux.c
9 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
10 +static void wl_timer(struct timer_list *tl);
12 static void wl_timer(ulong data);
14 static void _wl_timer(wl_timer_t *t);
15 static struct net_device *wl_alloc_linux_if(wl_if_t *wlif);
17 @@ -2300,10 +2304,17 @@
18 atomic_dec(&t->wl->callbacks);
21 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
23 +wl_timer(struct timer_list *tl)
25 + wl_timer_t *t = (wl_timer_t *)tl;
30 wl_timer_t *t = (wl_timer_t *)data;
33 if (!WL_ALL_PASSIVE_ENAB(t->wl))
35 @@ -2355,9 +2366,13 @@
37 bzero(t, sizeof(wl_timer_t));
39 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
40 + timer_setup(&t->timer, wl_timer, 0);
42 init_timer(&t->timer);
43 t->timer.data = (ulong) t;
44 t->timer.function = wl_timer;