diff options
author | Yehoshua Pesach Wallach <yehoshuapw@gmail.com> | 2017-06-01 21:37:54 +0300 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2017-06-10 15:28:30 -0700 |
commit | 0272772c6bcb89b49774dedd7eda8dee26d905b1 (patch) | |
tree | 002e1c60250447e2c3c860696fedda458677c7d6 | |
parent | media-gfx/graphite2: Remove old (diff) | |
download | gentoo-0272772c6bcb89b49774dedd7eda8dee26d905b1.tar.gz gentoo-0272772c6bcb89b49774dedd7eda8dee26d905b1.tar.bz2 gentoo-0272772c6bcb89b49774dedd7eda8dee26d905b1.zip |
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
-rw-r--r-- | net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild | 3 | ||||
-rw-r--r-- | net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch | 52 |
2 files changed, 54 insertions, 1 deletions
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 919299699839..d86dba144a27 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 000000000000..a779f8c84cfd --- /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 |