summaryrefslogtreecommitdiff
path: root/sys-kernel/broadcom-sta-dkms/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-04-04 13:08:47 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-04-04 13:08:47 +0100
commitaf4fcd1f820540ed2e67dfc656b7cf7ce95e5e16 (patch)
tree068119e95754578cc73a6b23ac29a07e4009530e /sys-kernel/broadcom-sta-dkms/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch
parent38fdb0c55ea241539a230c2381f19abb1901b49d (diff)
net-wireless/broadcom-sta : add compatibility with recent kernels
Diffstat (limited to 'sys-kernel/broadcom-sta-dkms/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch')
-rw-r--r--sys-kernel/broadcom-sta-dkms/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/sys-kernel/broadcom-sta-dkms/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch b/sys-kernel/broadcom-sta-dkms/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch
new file mode 100644
index 00000000..91c4d895
--- /dev/null
+++ b/sys-kernel/broadcom-sta-dkms/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch
@@ -0,0 +1,63 @@
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index 489c9f5..f8278ad 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -93,7 +93,11 @@
+
+ #include <wlc_wowl.h>
+
++#ifdef HAVE_TIMER_SETUP
++static void wl_timer(struct timer_list *list);
++#else
+ static void wl_timer(ulong data);
++#endif
+ static void _wl_timer(wl_timer_t *t);
+ static struct net_device *wl_alloc_linux_if(wl_if_t *wlif);
+
+@@ -2296,12 +2300,17 @@
+
+ atomic_dec(&t->wl->callbacks);
+ }
+-
++#ifdef HAVE_TIMER_SETUP
++static void
++wl_timer(struct timer_list *list)
++{
++ wl_timer_t *t = from_timer(t,list,timer);
++#else
+ static void
+ wl_timer(ulong data)
+ {
+ wl_timer_t *t = (wl_timer_t *)data;
+-
++#endif
+ if (!WL_ALL_PASSIVE_ENAB(t->wl))
+ _wl_timer(t);
+ else
+@@ -2351,10 +2360,13 @@
+ }
+
+ bzero(t, sizeof(wl_timer_t));
+-
++#ifdef HAVE_TIMER_SETUP
++ timer_setup(&t->timer, wl_timer,0);
++#else
+ init_timer(&t->timer);
+ t->timer.data = (ulong) t;
+ t->timer.function = wl_timer;
++#endif
+ t->wl = wl;
+ t->fn = fn;
+ t->arg = arg;
+diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h
+index 489c9f5..f8278ad 100644
+--- a/src/wl/sys/wl_linux.h
++++ b/src/wl/sys/wl_linux.h
+@@ -190,3 +190,7 @@
+ extern struct net_device * wl_netdev_get(wl_info_t *wl);
+
+ #endif
++
++#if defined(timer_setup) && defined(from_timer)
++#define HAVE_TIMER_SETUP
++#endif