diff --git a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-001-license.patch b/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-001-license.patch deleted file mode 100644 index a76ee1293c..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-001-license.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/x86-32/src/wl/sys/wl_linux.c 2010-12-15 02:58:07.000000000 +0100 -+++ b/x86-32/src/wl/sys/wl_linux.c 2010-12-25 18:15:43.356676382 +0100 -@@ -240,6 +240,7 @@ - - static int nompc = 0; - module_param(nompc, int, 0); -+MODULE_LICENSE("MIXED/Proprietary"); - - #ifdef quote_str - #undef quote_str ---- a/x86-64/src/wl/sys/wl_linux.c 2010-12-15 02:58:07.000000000 +0100 -+++ b/x86-64/src/wl/sys/wl_linux.c 2010-12-25 18:15:43.356676382 +0100 -@@ -240,6 +240,7 @@ - - static int nompc = 0; - module_param(nompc, int, 0); -+MODULE_LICENSE("MIXED/Proprietary"); - - #ifdef quote_str - #undef quote_str - diff --git a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-002-user-ioctl.patch b/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-002-user-ioctl.patch deleted file mode 100644 index 1209a320de..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-002-user-ioctl.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- a/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-31 07:47:40.000000000 +0100 -@@ -1466,7 +1466,10 @@ - scb_val.val = 0; - err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t)); - if (err) { -- WL_ERR(("Could not get rssi (%d)\n", err)); -+ if (err != -EINVAL) { -+ // Don't fill syslog with EINVAL error -+ WL_ERR(("Could not get rssi (%d)\n", err)); -+ } - return err; - } - rssi = dtoh32(scb_val.val); ---- a/x86-32/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-32/src/wl/sys/wl_linux.c 2013-01-31 07:47:40.000000000 +0100 -@@ -1579,11 +1579,7 @@ - } - - WL_LOCK(wl); -- if (!capable(CAP_NET_ADMIN)) { -- bcmerror = BCME_EPERM; -- } else { -- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif); -- } -+ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif); - WL_UNLOCK(wl); - - done1: ---- a/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-31 07:49:06.000000000 +0100 -@@ -1466,7 +1466,10 @@ - scb_val.val = 0; - err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t)); - if (err) { -- WL_ERR(("Could not get rssi (%d)\n", err)); -+ if (err != -EINVAL) { -+ // Don't fill syslog with EINVAL error -+ WL_ERR(("Could not get rssi (%d)\n", err)); -+ } - return err; - } - rssi = dtoh32(scb_val.val); ---- a/x86-64/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-64/src/wl/sys/wl_linux.c 2013-01-31 07:50:03.000000000 +0100 -@@ -1579,11 +1579,7 @@ - } - - WL_LOCK(wl); -- if (!capable(CAP_NET_ADMIN)) { -- bcmerror = BCME_EPERM; -- } else { -- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif); -- } -+ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif); - WL_UNLOCK(wl); - - done1: diff --git a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-003-linux-recent.patch b/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-003-linux-recent.patch deleted file mode 100644 index 57bc7e30ef..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-003-linux-recent.patch +++ /dev/null @@ -1,162 +0,0 @@ ---- a/x86-32/Makefile 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-32/Makefile 2013-01-31 10:00:10.000000000 +0100 -@@ -15,21 +15,9 @@ - - ifneq ($(KERNELRELEASE),) - -- LINUXVER_GOODFOR_CFG80211:=$(strip $(shell \ -- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" ]; then \ -- echo TRUE; \ -- else \ -- echo FALSE; \ -- fi \ -- )) -- -- LINUXVER_WEXT_ONLY:=$(strip $(shell \ -- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \ -- echo FALSE; \ -- else \ -- echo TRUE; \ -- fi \ -- )) -+ LINUXVER_GOODFOR_CFG80211:=TRUE -+ -+ LINUXVER_WEXT_ONLY:=FALSE - - ifneq ($(API),) - ifeq ($(API), CFG80211) ---- a/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-31 10:00:10.000000000 +0100 -@@ -42,7 +42,7 @@ - enum nl80211_iftype type, u32 *flags, struct vif_params *params); - static s32 __wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, - struct cfg80211_scan_request *request, struct cfg80211_ssid *this_ssid); --static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, -+static s32 wl_cfg80211_scan(struct wiphy *wiphy, - struct cfg80211_scan_request *request); - static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed); - static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, -@@ -570,10 +570,12 @@ - } - - static s32 --wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, -+wl_cfg80211_scan(struct wiphy *wiphy, - struct cfg80211_scan_request *request) - { - s32 err = 0; -+ struct wl_priv *wl = wiphy_to_wl(wiphy); -+ struct net_device *ndev = wl_to_ndev(wl); - - CHECK_SYS_UP(); - err = __wl_cfg80211_scan(wiphy, ndev, request, NULL); ---- a/x86-32/src/wl/sys/wl_iw.h 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-32/src/wl/sys/wl_iw.h 2013-01-31 10:00:10.000000000 +0100 -@@ -15,6 +15,7 @@ - #ifndef _wl_iw_h_ - #define _wl_iw_h_ - -+#include - #include - - #include ---- a/x86-32/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-32/src/wl/sys/wl_linux.c 2013-01-31 10:00:10.000000000 +0100 -@@ -40,7 +40,6 @@ - #include - #define WLC_MAXBSSCFG 1 - --#include - #include - #include - #include -@@ -385,7 +384,7 @@ - #endif - .ndo_get_stats = wl_get_stats, - .ndo_set_mac_address = wl_set_mac_address, -- .ndo_set_multicast_list = wl_set_multicast_list, -+ .ndo_set_rx_mode = wl_set_multicast_list, - .ndo_do_ioctl = wl_ioctl - }; - ---- a/x86-64/Makefile 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-64/Makefile 2013-01-31 10:06:20.000000000 +0100 -@@ -15,21 +15,9 @@ - - ifneq ($(KERNELRELEASE),) - -- LINUXVER_GOODFOR_CFG80211:=$(strip $(shell \ -- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" ]; then \ -- echo TRUE; \ -- else \ -- echo FALSE; \ -- fi \ -- )) -- -- LINUXVER_WEXT_ONLY:=$(strip $(shell \ -- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \ -- echo FALSE; \ -- else \ -- echo TRUE; \ -- fi \ -- )) -+ LINUXVER_GOODFOR_CFG80211:=TRUE -+ -+ LINUXVER_WEXT_ONLY:=FALSE - - ifneq ($(API),) - ifeq ($(API), CFG80211) ---- a/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-31 10:07:35.000000000 +0100 -@@ -42,7 +42,7 @@ - enum nl80211_iftype type, u32 *flags, struct vif_params *params); - static s32 __wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, - struct cfg80211_scan_request *request, struct cfg80211_ssid *this_ssid); --static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, -+static s32 wl_cfg80211_scan(struct wiphy *wiphy, - struct cfg80211_scan_request *request); - static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed); - static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, -@@ -570,10 +570,12 @@ - } - - static s32 --wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, -+wl_cfg80211_scan(struct wiphy *wiphy, - struct cfg80211_scan_request *request) - { - s32 err = 0; -+ struct wl_priv *wl = wiphy_to_wl(wiphy); -+ struct net_device *ndev = wl_to_ndev(wl); - - CHECK_SYS_UP(); - err = __wl_cfg80211_scan(wiphy, ndev, request, NULL); ---- a/x86-64/src/wl/sys/wl_iw.h 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-64/src/wl/sys/wl_iw.h 2013-01-31 10:07:58.000000000 +0100 -@@ -15,6 +15,7 @@ - #ifndef _wl_iw_h_ - #define _wl_iw_h_ - -+#include - #include - - #include ---- a/x86-64/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100 -+++ b/x86-64/src/wl/sys/wl_linux.c 2013-01-31 10:08:30.000000000 +0100 -@@ -40,7 +40,6 @@ - #include - #define WLC_MAXBSSCFG 1 - --#include - #include - #include - #include -@@ -385,7 +384,7 @@ - #endif - .ndo_get_stats = wl_get_stats, - .ndo_set_mac_address = wl_set_mac_address, -- .ndo_set_multicast_list = wl_set_multicast_list, -+ .ndo_set_rx_mode = wl_set_multicast_list, - .ndo_do_ioctl = wl_ioctl - }; - diff --git a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-004-rename-device.patch b/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-004-rename-device.patch deleted file mode 100644 index c469beab7d..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-004-rename-device.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/x86-32/src/wl/sys/wl_linux.c 2010-12-15 02:58:07.000000000 +0100 -+++ b/x86-32/src/wl/sys/wl_linux.c 2010-12-27 22:14:38.679428984 +0100 -@@ -251,7 +251,7 @@ - #define quote_str(s) to_str(s) - - #ifndef BRCM_WLAN_IFNAME --#define BRCM_WLAN_IFNAME eth%d -+#define BRCM_WLAN_IFNAME wlan%d - #endif - - static char name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME); ---- a/x86-64/src/wl/sys/wl_linux.c 2010-12-15 03:01:09.000000000 +0100 -+++ b/x86-64/src/wl/sys/wl_linux.c 2010-12-27 22:15:18.273865927 +0100 -@@ -251,7 +251,7 @@ - #define quote_str(s) to_str(s) - - #ifndef BRCM_WLAN_IFNAME --#define BRCM_WLAN_IFNAME eth%d -+#define BRCM_WLAN_IFNAME wlan%d - #endif - - static char name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME); diff --git a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-005-linux-3.8-support.patch b/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-005-linux-3.8-support.patch deleted file mode 100644 index 2f8caf7e8a..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-005-linux-3.8-support.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 00da4982e9175921cfb26d1377bf49ece3bb41cb Mon Sep 17 00:00:00 2001 -From: Stefan Saraev -Date: Tue, 26 Mar 2013 23:10:17 +0200 -Subject: [PATCH] linux 3.8 support - ---- - x86-32/src/include/bcmutils.h | 5 +++++ - x86-32/src/wl/sys/wl_cfg80211.c | 25 ++++++++++++++++++++++++- - x86-64/src/include/bcmutils.h | 4 ++++ - x86-64/src/wl/sys/wl_cfg80211.c | 25 ++++++++++++++++++++++++- - 4 files changed, 57 insertions(+), 2 deletions(-) - -diff --git a/x86-32/src/include/bcmutils.h b/x86-32/src/include/bcmutils.h -index fa6df04..9a8cab4 100644 ---- a/x86-32/src/include/bcmutils.h -+++ b/x86-32/src/include/bcmutils.h -@@ -555,7 +555,12 @@ extern void printbig(char *buf); - extern void prhex(const char *msg, uchar *buf, uint len); - - extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key); -+#else -+extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key); -+#endif -+ - extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key); - - extern const char *bcmerrorstr(int bcmerror); -diff --git a/x86-32/src/wl/sys/wl_cfg80211.c b/x86-32/src/wl/sys/wl_cfg80211.c -index 09d04ed..698b004 100644 ---- a/x86-32/src/wl/sys/wl_cfg80211.c -+++ b/x86-32/src/wl/sys/wl_cfg80211.c -@@ -744,7 +744,11 @@ wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, - else - memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN); - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - wl_ch_to_chanspec(params->channel, &join_params, &join_params_size); -+#else -+ wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size); -+#endif - - err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size); - if (err) { -@@ -2047,9 +2051,14 @@ static s32 wl_update_bss_info(struct wl_priv *wl) - struct bcm_tlv *tim; - u16 beacon_interval; - s32 dtim_period; -+ s32 err = 0; - size_t ie_len; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - u8 *ie; -- s32 err = 0; -+#else -+ const u8 *ie; -+ const struct cfg80211_bss_ies *ies; -+#endif - - ssid = &wl->profile->ssid; - bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, -@@ -2079,8 +2088,22 @@ static s32 wl_update_bss_info(struct wl_priv *wl) - beacon_interval = cpu_to_le16(bi->beacon_period); - } else { - WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid)); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - ie = bss->information_elements; - ie_len = bss->len_information_elements; -+#else -+ rcu_read_lock(); -+ ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies); -+ if (!ies) { -+ /* This should never happen */ -+ rcu_read_unlock(); -+ err = -EIO; -+ goto update_bss_info_out; -+ } -+ ie = ies->data; -+ ie_len = (size_t)(ies->len); -+ rcu_read_unlock(); -+#endif - beacon_interval = bss->beacon_interval; - cfg80211_put_bss(bss); - } -diff --git a/x86-64/src/include/bcmutils.h b/x86-64/src/include/bcmutils.h -index fa6df04..1200bf0 100644 ---- a/x86-64/src/include/bcmutils.h -+++ b/x86-64/src/include/bcmutils.h -@@ -555,7 +555,11 @@ extern void printbig(char *buf); - extern void prhex(const char *msg, uchar *buf, uint len); - - extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key); -+#else -+extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key); -+#endif - extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key); - - extern const char *bcmerrorstr(int bcmerror); -diff --git a/x86-64/src/wl/sys/wl_cfg80211.c b/x86-64/src/wl/sys/wl_cfg80211.c -index 94aac25..244243f 100644 ---- a/x86-64/src/wl/sys/wl_cfg80211.c -+++ b/x86-64/src/wl/sys/wl_cfg80211.c -@@ -744,7 +744,11 @@ wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, - else - memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN); - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - wl_ch_to_chanspec(params->channel, &join_params, &join_params_size); -+#else -+ wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size); -+#endif - - err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size); - if (err) { -@@ -2047,9 +2051,14 @@ static s32 wl_update_bss_info(struct wl_priv *wl) - struct bcm_tlv *tim; - u16 beacon_interval; - s32 dtim_period; -+ s32 err = 0; - size_t ie_len; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - u8 *ie; -- s32 err = 0; -+#else -+ const u8 *ie; -+ const struct cfg80211_bss_ies *ies; -+#endif - - ssid = &wl->profile->ssid; - bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, -@@ -2079,8 +2088,22 @@ static s32 wl_update_bss_info(struct wl_priv *wl) - beacon_interval = cpu_to_le16(bi->beacon_period); - } else { - WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid)); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) - ie = bss->information_elements; - ie_len = bss->len_information_elements; -+#else -+ rcu_read_lock(); -+ ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies); -+ if (!ies) { -+ /* This should never happen */ -+ rcu_read_unlock(); -+ err = -EIO; -+ goto update_bss_info_out; -+ } -+ ie = ies->data; -+ ie_len = (size_t)(ies->len); -+ rcu_read_unlock(); -+#endif - beacon_interval = bss->beacon_interval; - cfg80211_put_bss(bss); - } --- -1.7.2.5 - diff --git a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-006-linux-3.9-support.patch b/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-006-linux-3.9-support.patch deleted file mode 100644 index 4a97a1bce2..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/5.100.82.112/bcm_sta-006-linux-3.9-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Naur bcm_sta-5.100.82.112/x86-32/src/wl/sys/wl_cfg80211.c bcm_sta-5.100.82.112.patch/x86-32/src/wl/sys/wl_cfg80211.c ---- bcm_sta-5.100.82.112/x86-32/src/wl/sys/wl_cfg80211.c 2011-10-22 18:55:54.000000000 +0200 -+++ bcm_sta-5.100.82.112.patch/x86-32/src/wl/sys/wl_cfg80211.c 2013-05-06 07:03:19.146764181 +0200 -@@ -2077,7 +2077,11 @@ - ie = bss->information_elements; - ie_len = bss->len_information_elements; - beacon_interval = bss->beacon_interval; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0) - cfg80211_put_bss(bss); -+#else -+ cfg80211_put_bss(wl_to_wiphy(wl), bss); -+#endif - } - - tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM); -diff -Naur bcm_sta-5.100.82.112/x86-64/src/wl/sys/wl_cfg80211.c bcm_sta-5.100.82.112.patch/x86-64/src/wl/sys/wl_cfg80211.c ---- bcm_sta-5.100.82.112/x86-64/src/wl/sys/wl_cfg80211.c 2011-10-22 18:56:55.000000000 +0200 -+++ bcm_sta-5.100.82.112.patch/x86-64/src/wl/sys/wl_cfg80211.c 2013-05-06 07:03:55.443652962 +0200 -@@ -2077,7 +2077,11 @@ - ie = bss->information_elements; - ie_len = bss->len_information_elements; - beacon_interval = bss->beacon_interval; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0) - cfg80211_put_bss(bss); -+#else -+ cfg80211_put_bss(wl_to_wiphy(wl), bss); -+#endif - } - - tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM);