Package: broadcom-sta-source
Version:  6.30.223.271-7

The attached patch is for the timer_setup/from_timer changes in kernel
4.14. The new 4.15 kernel required this.

Cheers,
Koos Vriezen
--- a/wl/sys/wl_linux.c 2017-07-08 15:19:56.000000000 +0200
+++ b/wl/sys/wl_linux.c 2018-01-29 10:45:34.356850675 +0100
@@ -93,7 +93,11 @@ struct iw_statistics *wl_get_wireless_st
 
 #include <wlc_wowl.h>
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
 static void wl_timer(ulong data);
+#else
+static void wl_timer(struct timer_list *tl);
+#endif
 static void _wl_timer(wl_timer_t *t);
 static struct net_device *wl_alloc_linux_if(wl_if_t *wlif);
 
@@ -2295,9 +2299,17 @@ wl_timer_task(wl_task_t *task)
 }
 
 static void
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
 wl_timer(ulong data)
+#else
+wl_timer(struct timer_list *tl)
+#endif
 {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
        wl_timer_t *t = (wl_timer_t *)data;
+#else
+       wl_timer_t *t = from_timer(t, tl, timer);
+#endif
 
        if (!WL_ALL_PASSIVE_ENAB(t->wl))
                _wl_timer(t);
@@ -2349,9 +2361,13 @@ wl_init_timer(wl_info_t *wl, void (*fn)(
 
        bzero(t, sizeof(wl_timer_t));
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
        init_timer(&t->timer);
        t->timer.data = (ulong) t;
        t->timer.function = wl_timer;
+#else
+       timer_setup(&t->timer, wl_timer, 0);
+#endif
        t->wl = wl;
        t->fn = fn;
        t->arg = arg;

Reply via email to