This commit is contained in:
Rmys
2020-12-08 18:39:57 +03:00
committed by GitHub
parent da09f1aab7
commit 28883bfe69
16 changed files with 742 additions and 138 deletions
@@ -1,50 +1,33 @@
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index a9671e2..da36405 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -30,6 +30,9 @@
#include <linux/kthread.h>
#include <linux/netdevice.h>
#include <linux/ieee80211.h>
Fix for 4.11, from debian
---
src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
src/wl/sys/wl_linux.c | 2 ++
2 files changed, 6 insertions(+)
diff -Nurp broadcom-wl-6.30.223.271.orig/src/wl/sys/wl_cfg80211_hybrid.c broadcom-wl-6.30.223.271/src/wl/sys/wl_cfg80211_hybrid.c
--- broadcom-wl-6.30.223.271.orig/src/wl/sys/wl_cfg80211_hybrid.c 2020-01-11 01:19:17.966109836 +0200
+++ broadcom-wl-6.30.223.271/src/wl/sys/wl_cfg80211_hybrid.c 2020-01-11 01:25:39.080492424 +0200
@@ -39,6 +39,10 @@
#include <proto/802.11.h>
#include <wl_cfg80211_hybrid.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+#include <linux/sched/signal.h>
+#endif
#include <net/cfg80211.h>
#include <linux/nl80211.h>
#include <net/rtnetlink.h>
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
@@ -117,6 +117,9 @@ int wl_found = 0;
typedef struct priv_link {
wl_if_t *wlif;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+ unsigned long last_rx;
+#endif
} priv_link_t;
#define WL_DEV_IF(dev) ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif)
@@ -2450,6 +2453,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
{
struct sk_buff *oskb = (struct sk_buff *)p;
struct sk_buff *skb;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+ priv_link_t *priv_link;
+#endif
uchar *pdata;
uint len;
@@ -2916,7 +2922,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
+
#define EVENT_TYPE(e) dtoh32((e)->event_type)
#define EVENT_FLAGS(e) dtoh16((e)->flags)
#define EVENT_STATUS(e) dtoh32((e)->status)
diff -Nurp broadcom-wl-6.30.223.271.orig/src/wl/sys/wl_linux.c broadcom-wl-6.30.223.271/src/wl/sys/wl_linux.c
--- broadcom-wl-6.30.223.271.orig/src/wl/sys/wl_linux.c 2020-01-11 01:12:32.543692150 +0200
+++ broadcom-wl-6.30.223.271/src/wl/sys/wl_linux.c 2020-01-11 01:25:39.086492699 +0200
@@ -2915,7 +2915,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rx
if (skb == NULL) return;
skb->dev = wl->monitor_dev;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+ priv_link = MALLOC(wl->osh, sizeof(priv_link_t));
+ priv_link = netdev_priv(skb->dev);
+ priv_link->last_rx = jiffies;
+#else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
skb->dev->last_rx = jiffies;
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)