commit:     0272772c6bcb89b49774dedd7eda8dee26d905b1
Author:     Yehoshua Pesach Wallach <yehoshuapw <AT> gmail <DOT> com>
AuthorDate: Thu Jun  1 18:37:54 2017 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 22:28:30 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0272772c

net-wireless/broadcom-sta: apply archlinux patch fixing bugs for kernel 4.11

https://bugs.archlinux.org/task/53974
https://aur.archlinux.org/cgit/aur.git/tree/linux411.patch?h=broadcom-wl

Package-Manager: Portage-2.3.5, Repoman-2.3.2
Closes: https://github.com/gentoo/gentoo/pull/4822

 .../broadcom-sta-6.30.223.271-r4.ebuild            |  3 +-
 .../broadcom-sta-6.30.223.271-r4-linux-4.11.patch  | 52 ++++++++++++++++++++++
 2 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild 
b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild
index 91929969983..d86dba144a2 100644
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild
@@ -65,7 +65,8 @@ src_prepare() {
                "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
                "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch" \
                "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.7.patch" \
-               "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.8.patch"
+               "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.8.patch" \
+               "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.11.patch"
 
        epatch_user
 }

diff --git 
a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch 
b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch
new file mode 100644
index 00000000000..a779f8c84cf
--- /dev/null
+++ 
b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch
@@ -0,0 +1,52 @@
+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>
++#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)
+       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
+       skb->dev->last_rx = jiffies;
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+       skb_reset_mac_header(skb);
+ #else

Reply via email to