Source: broadcom-sta Severity: wishlist Tags: patch Upstream has a new version of the drivers, which is not yet in Debian. I wrote a patch to the package which has been working for me.
I screened and removed patches which are already merged upstream. One of the patches (support for kernel 3.15.0) was not fully merged, thus I kept the relevant part. Still regarding that specific patch, I think a similar thing needs to be done to i386 architecture in order to keep build reproducible (I will be happy to apply it in my spare time, if you want it. The reason I haven't is because I will have to install a 32bit system to one of my machines, which will consume time.) I just recently got a dell computer and I have been struggling with drivers. I could not get jessie version of broadcom-sta-dkms to build in the new kernel 4.1 (which I needed for touchpad driver support). I also had been having wifi connectivity issues in certain authenticated networks while on jessie. So I thought I would give the new upstream version a try. Hopefully my issues will be gone and, perhaps, we could even try to backport whatever is getting it to work better to jessie's broadcom-sta-dkms. I documented in the patches the reason for each change I did on the package. I'm here for any questions you might have. I hope my work here is useful to someone else. I have uploaded the results of pdebuild here, if anyone is intrested: http://rafael.kontesti.me/debian/broadcom -- System Information: Debian Release: 8.2 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.1.0-0.bpo.2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
>From 160f6e75a663d7a9d74dc42d9fc390bb2219bcc0 Mon Sep 17 00:00:00 2001 From: Rafael Cunha de Almeida <almeida...@gmail.com> Date: Sun, 4 Oct 2015 13:56:56 +0100 Subject: [PATCH 1/6] Change kernel-3.15.0 patch: mostly merged upstream Upstream merged part of the patch, effectively supporting kernels older than 3.15. However, one important part of the patch is still not addressed upstream: removing __TIME__ and __DATE__ macros. It is worth mentioning that this patch needs further work in order to remove the same macros from i386 architecture. Ideally we should not use these macros as they prevent reproducible builds. --- debian/patches/05-kernel-3.15.0.patch | 45 ---------------------- .../patches/05-remove-time-and-date-macros.patch | 29 ++++++++++++++ debian/patches/series | 2 +- 3 files changed, 30 insertions(+), 46 deletions(-) delete mode 100644 debian/patches/05-kernel-3.15.0.patch create mode 100644 debian/patches/05-remove-time-and-date-macros.patch diff --git a/debian/patches/05-kernel-3.15.0.patch b/debian/patches/05-kernel-3.15.0.patch deleted file mode 100644 index a4ef422..0000000 --- a/debian/patches/05-kernel-3.15.0.patch +++ /dev/null @@ -1,45 +0,0 @@ -Description: Kernel 3.15 compatibility patch -Author: Cyril Lacoux <clac...@easter-eggs.com> -Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752864 -Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754434 -Last-Update: 2014-08-13 - -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-08-13 08:04:37.213841222 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-08-13 08:04:37.209841222 +0400 -@@ -724,7 +724,7 @@ - WL_ALL_PASSIVE_ENAB(wl) ? ", Passive Mode" : "", EPI_VERSION_STR); - - #ifdef BCMDBG -- printf(" (Compiled in " SRCBASE " at " __TIME__ " on " __DATE__ ")"); -+ printf(" (Compiled in " SRCBASE); - #endif - printf("\n"); - -@@ -2043,8 +2043,7 @@ - void - wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b) - { -- bcm_bprintf(b, "wl%d: %s %s version %s\n", wl->pub->unit, -- __DATE__, __TIME__, EPI_VERSION_STR); -+ bcm_bprintf(b, "wl%d: version %s\n", wl->pub->unit, EPI_VERSION_STR); - } - - #if defined(BCMDBG) -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_cfg80211_hybrid.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_cfg80211_hybrid.c 2014-08-11 08:14:32.135132247 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_cfg80211_hybrid.c 2014-08-13 08:06:10.045840994 +0400 -@@ -2071,7 +2071,11 @@ - wl_get_assoc_ies(wl); - memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN); - wl_update_bss_info(wl); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, &wl->conf->channel, GFP_KERNEL); -+#else - cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL); -+#endif - set_bit(WL_STATUS_CONNECTED, &wl->status); - wl->profile->active = true; - } diff --git a/debian/patches/05-remove-time-and-date-macros.patch b/debian/patches/05-remove-time-and-date-macros.patch new file mode 100644 index 0000000..7568e29 --- /dev/null +++ b/debian/patches/05-remove-time-and-date-macros.patch @@ -0,0 +1,29 @@ +Description: Remove __TIME__ and __DATE__ macros from code +Author: Cyril Lacoux <clac...@easter-eggs.com> +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752864 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754434 +Last-Update: 2014-08-13 + +Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c +=================================================================== +--- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-08-13 08:04:37.213841222 +0400 ++++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-08-13 08:04:37.209841222 +0400 +@@ -724,7 +724,7 @@ + WL_ALL_PASSIVE_ENAB(wl) ? ", Passive Mode" : "", EPI_VERSION_STR); + + #ifdef BCMDBG +- printf(" (Compiled in " SRCBASE " at " __TIME__ " on " __DATE__ ")"); ++ printf(" (Compiled in " SRCBASE); + #endif + printf("\n"); + +@@ -2043,8 +2043,7 @@ + void + wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b) + { +- bcm_bprintf(b, "wl%d: %s %s version %s\n", wl->pub->unit, +- __DATE__, __TIME__, EPI_VERSION_STR); ++ bcm_bprintf(b, "wl%d: version %s\n", wl->pub->unit, EPI_VERSION_STR); + } + + #if defined(BCMDBG) diff --git a/debian/patches/series b/debian/patches/series index 9af6b45..62b6902 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,7 +3,7 @@ 02-license.patch 03-rename-to-wlan0.patch 04-user_ioctl.patch -05-kernel-3.15.0.patch +05-remove-time-and-date-macros.patch 06-kernel-3.17.0.patch 07-fix_procfs_handling.patch 08-enable_error_traces.patch -- 2.1.4
>From fa48c8121842ba3121f4661bd6e02195d86715b4 Mon Sep 17 00:00:00 2001 From: Rafael Cunha de Almeida <almeida...@gmail.com> Date: Sun, 4 Oct 2015 13:04:28 +0100 Subject: [PATCH 2/6] Remove patch kernel-3.17.0: merged upstream --- debian/patches/06-kernel-3.17.0.patch | 16 ---------------- debian/patches/series | 1 - 2 files changed, 17 deletions(-) delete mode 100644 debian/patches/06-kernel-3.17.0.patch diff --git a/debian/patches/06-kernel-3.17.0.patch b/debian/patches/06-kernel-3.17.0.patch deleted file mode 100644 index 3ee2f57..0000000 --- a/debian/patches/06-kernel-3.17.0.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-10-20 09:55:20.147653836 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-10-20 10:00:36.499645692 +0400 -@@ -1309,7 +1309,11 @@ - dev->priv = priv_link; - #else - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0) -+ dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN, ether_setup); -+#else - dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup); -+#endif - if (!dev) { - WL_ERROR(("wl%d: %s: alloc_netdev failed\n", - (wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__)); diff --git a/debian/patches/series b/debian/patches/series index 62b6902..5f22775 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,7 +4,6 @@ 03-rename-to-wlan0.patch 04-user_ioctl.patch 05-remove-time-and-date-macros.patch -06-kernel-3.17.0.patch 07-fix_procfs_handling.patch 08-enable_error_traces.patch 09-fix_system_hang_when_deleting_monitor.patch -- 2.1.4
>From aa37968e058fae2fcc9af31c60c88b8d0cedf54e Mon Sep 17 00:00:00 2001 From: Rafael Cunha de Almeida <almeida...@gmail.com> Date: Sun, 4 Oct 2015 14:09:15 +0100 Subject: [PATCH 3/6] Remove patch fix_procfs_handling: merged upstream There are slight changes. In special there were two ifs merged together. However, all the fixes in this patch were addressed by upstream. --- debian/patches/07-fix_procfs_handling.patch | 145 ---------------------------- debian/patches/series | 1 - 2 files changed, 146 deletions(-) delete mode 100644 debian/patches/07-fix_procfs_handling.patch diff --git a/debian/patches/07-fix_procfs_handling.patch b/debian/patches/07-fix_procfs_handling.patch deleted file mode 100644 index 9b51793..0000000 --- a/debian/patches/07-fix_procfs_handling.patch +++ /dev/null @@ -1,145 +0,0 @@ -Description: Fix kernel crash/system hang because of incorrect pointer - argument use while retrieving cookie in procfs handling. - . - based on: http://ix.io/9DV - tested on: kernel 3.14 -Author: Mickael MASSON <mmasson....@gmail.com> -Bug-Debian: https://bugs.debian.org/770327 - -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-12-07 17:23:06.437532026 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-12-07 17:23:06.433532026 +0400 -@@ -3225,42 +3225,75 @@ - #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - static int - wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data) -+{ -+ wl_info_t * wl = (wl_info_t *)data; - #else - static ssize_t --wl_proc_read(struct file *filp, char __user *buffer, size_t length, loff_t *data) --#endif -+wl_proc_read(struct file *filp, char __user *buffer, size_t length, loff_t *offp) - { -- wl_info_t * wl = (wl_info_t *)data; -- int to_user; -- int len; -+ wl_info_t * wl = PDE_DATA(file_inode(filp)); -+#endif -+ int bcmerror, len; -+ int to_user = 0; -+ char tmp[8]; - - #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - if (offset > 0) { - *eof = 1; - return 0; - } -+#else -+ if (*offp > 0) { /* for example, stop: cat /proc/brcm_monitor0 */ -+ return 0; /* 0 <=> EOF */ -+ } - #endif - -- if (!length) { -- WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__)); -- return 0; -- } - WL_LOCK(wl); -- wlc_ioctl(wl->wlc, WLC_GET_MONITOR, &to_user, sizeof(int), NULL); -- len = sprintf(buffer, "%d\n", to_user); -- WL_UNLOCK(wl); -- return len; -+ bcmerror = wlc_ioctl(wl->wlc, WLC_GET_MONITOR, &to_user, sizeof(int), NULL); -+ WL_UNLOCK(wl); -+ -+ if (bcmerror != BCME_OK) { -+ WL_ERROR(("%s: GET_MONITOR failed with %d\n", __FUNCTION__, bcmerror)); -+ return -EIO; -+ } -+ -+ len = snprintf(tmp, ARRAY_SIZE(tmp), "%d\n", to_user); -+ tmp[ARRAY_SIZE(tmp) - 1] = '\0'; -+ if (len >= ARRAY_SIZE(tmp)) { -+ printk(KERN_ERR "%s:%d [%s()] output would be truncated (ret=%d)!", __FILE__, __LINE__, __FUNCTION__, len); -+ return -ERANGE; -+ } -+ else if (len < 0) { -+ printk(KERN_ERR "%s:%d [%s()] unable to convert value (ret=%d)!", __FILE__, __LINE__, __FUNCTION__, len); -+ return len; -+ } -+ if (length < len) { -+ printk(KERN_ERR "%s:%d [%s()] user buffer is too small (at least=%d ; user=%d)!", __FILE__, __LINE__, __FUNCTION__, len, (int)length); -+ return -EMSGSIZE; -+ } -+ if (copy_to_user(buffer, tmp, len) != 0) { -+ printk(KERN_ERR "%s:%d [%s()] unable to copy data!", __FILE__, __LINE__, __FUNCTION__); -+ return -EFAULT; -+ } -+ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+ *offp += len; -+#endif -+ -+ return len; - } - - #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - static int - wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data) -+{ -+ wl_info_t * wl = (wl_info_t *)data; - #else - static ssize_t --wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t *data) --#endif -+wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t *offp) - { -- wl_info_t * wl = (wl_info_t *)data; -+ wl_info_t * wl = PDE_DATA(file_inode(filp)); -+#endif - int from_user = 0; - int bcmerror; - -@@ -3271,7 +3304,11 @@ - } - if (copy_from_user(&from_user, buff, 1)) { - WL_ERROR(("%s: copy from user failed\n", __FUNCTION__)); -- return -EIO; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -+ return -EIO; -+#else -+ return -EFAULT; -+#endif - } - - if (from_user >= 0x30) -@@ -3281,10 +3318,15 @@ - bcmerror = wlc_ioctl(wl->wlc, WLC_SET_MONITOR, &from_user, sizeof(int), NULL); - WL_UNLOCK(wl); - -- if (bcmerror < 0) { -+ if (bcmerror != BCME_OK) { - WL_ERROR(("%s: SET_MONITOR failed with %d\n", __FUNCTION__, bcmerror)); - return -EIO; - } -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) && 0 /* no need to update offset because this file should only trigger action... */ -+ *offp += length; -+#endif -+ - return length; - } - -@@ -3305,8 +3347,8 @@ - if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) { - WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp)); - #else -- if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) { -- WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp)); -+ if ((wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_fops, wl)) == NULL) { -+ WL_ERROR(("%s: proc_create_data %s failed\n", __FUNCTION__, tmp)); - #endif - ASSERT(0); - return -1; diff --git a/debian/patches/series b/debian/patches/series index 5f22775..0079c88 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,6 +4,5 @@ 03-rename-to-wlan0.patch 04-user_ioctl.patch 05-remove-time-and-date-macros.patch -07-fix_procfs_handling.patch 08-enable_error_traces.patch 09-fix_system_hang_when_deleting_monitor.patch -- 2.1.4
>From 5ed6ffe78cb1491d9a0715e40449f0885154580b Mon Sep 17 00:00:00 2001 From: Rafael Cunha de Almeida <almeida...@gmail.com> Date: Sun, 4 Oct 2015 13:18:16 +0100 Subject: [PATCH 4/6] Remove patch enable_error_traces: merged upstream Upstream's error messages are different, but I wouldn't maintain this patch only to have new error messages. I think the original patch is better (it displays the file and line, but I do not think it is worth the diversion from upstream. --- debian/patches/08-enable_error_traces.patch | 81 ----------------------------- debian/patches/series | 1 - 2 files changed, 82 deletions(-) delete mode 100644 debian/patches/08-enable_error_traces.patch diff --git a/debian/patches/08-enable_error_traces.patch b/debian/patches/08-enable_error_traces.patch deleted file mode 100644 index d2babeb..0000000 --- a/debian/patches/08-enable_error_traces.patch +++ /dev/null @@ -1,81 +0,0 @@ -Description: enable error + add some traces - . - tested on: kernel 3.14 -Author: Mickael MASSON <mmasson....@gmail.com> -Bug-Debian: https://bugs.debian.org/770327 - -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_dbg.h -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_dbg.h 2014-12-07 17:28:28.393534724 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_dbg.h 2014-12-07 17:28:28.389534724 +0400 -@@ -55,10 +55,12 @@ - - #define WL_NONE(args) - -+#define FORCE_TRACE_LEVEL(fmt, ...) do { printk(KERN_ERR fmt, ## __VA_ARGS__); } while (0) /* ## is GCC specific syntax to remove comma when single arg */ -+ - #ifdef BCMDBG_ERR - #define WL_ERROR(args) WL_PRINT(args) - #else --#define WL_ERROR(args) -+#define WL_ERROR(args) FORCE_TRACE_LEVEL args - #endif - #define WL_TRACE(args) - #define WL_APSTA_UPDN(args) -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-12-07 17:28:28.393534724 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-12-07 17:28:28.389534724 +0400 -@@ -1272,6 +1272,7 @@ - MFREE(wl->osh, wlif->dev, sizeof(struct net_device)); - #else - free_netdev(wlif->dev); -+ wlif->dev = NULL; - #endif - } - -@@ -2456,8 +2457,10 @@ - p80211msg_t *phdr; - - len = sizeof(p80211msg_t) + oskb->len - D11_PHY_HDR_LEN; -- if ((skb = dev_alloc_skb(len)) == NULL) -+ if ((skb = dev_alloc_skb(len)) == NULL) { -+ WL_ERROR(("in %s:%d [%s()] dev_alloc_skb() failure!", __FILE__, __LINE__, __FUNCTION__)); - return; -+ } - - skb_put(skb, len); - phdr = (p80211msg_t*)skb->data; -@@ -2536,8 +2539,10 @@ - rtap_len = sizeof(wl_radiotap_ht_brcm_2_t); - - len = rtap_len + (oskb->len - D11_PHY_HDR_LEN); -- if ((skb = dev_alloc_skb(len)) == NULL) -+ if ((skb = dev_alloc_skb(len)) == NULL) { -+ WL_ERROR(("in %s:%d [%s()] dev_alloc_skb() failure!", __FILE__, __LINE__, __FUNCTION__)); - return; -+ } - - skb_put(skb, len); - -@@ -2665,8 +2670,10 @@ - len += amsdu_len; - } - -- if ((skb = dev_alloc_skb(len)) == NULL) -+ if ((skb = dev_alloc_skb(len)) == NULL) { -+ WL_ERROR(("in %s:%d [%s()] dev_alloc_skb() failure!", __FILE__, __LINE__, __FUNCTION__)); - return; -+ } - - skb_put(skb, len); - -@@ -2991,7 +2998,7 @@ - } - - void --wl_set_monitor(wl_info_t *wl, int val) -+wl_set_monitor(wl_info_t *wl, int val) /* public => is called by wlc_hybrid.o_shipped */ - { - const char *devname; - wl_if_t *wlif; diff --git a/debian/patches/series b/debian/patches/series index 0079c88..b7822cf 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,5 +4,4 @@ 03-rename-to-wlan0.patch 04-user_ioctl.patch 05-remove-time-and-date-macros.patch -08-enable_error_traces.patch 09-fix_system_hang_when_deleting_monitor.patch -- 2.1.4
>From e3584f474cd052085ea964f7e5c70d090f712275 Mon Sep 17 00:00:00 2001 From: Rafael Cunha de Almeida <almeida...@gmail.com> Date: Sun, 4 Oct 2015 14:30:01 +0100 Subject: [PATCH 5/6] Remove patch fix_system_hang_when_deleting_monitor: merged upstream --- .../09-fix_system_hang_when_deleting_monitor.patch | 28 ---------------------- debian/patches/series | 1 - 2 files changed, 29 deletions(-) delete mode 100644 debian/patches/09-fix_system_hang_when_deleting_monitor.patch diff --git a/debian/patches/09-fix_system_hang_when_deleting_monitor.patch b/debian/patches/09-fix_system_hang_when_deleting_monitor.patch deleted file mode 100644 index 072a912..0000000 --- a/debian/patches/09-fix_system_hang_when_deleting_monitor.patch +++ /dev/null @@ -1,28 +0,0 @@ -Description: Fix kernel crash/system hang when disabling monitor interface: - echo 0 > /proc/brcm_monitor0 - . - tested on: kernel 3.14 -Author: Mickael MASSON <mmasson....@gmail.com> -Bug-Debian: https://bugs.debian.org/770327 - -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_cfg80211_hybrid.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-07 17:30:25.985535710 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-07 17:30:25.981535710 +0400 -@@ -2633,7 +2633,15 @@ - - void wl_cfg80211_detach(struct net_device *ndev) - { -- struct wl_cfg80211_priv *wl = ndev_to_wl(ndev); -+ struct wl_cfg80211_priv *wl; -+ struct wireless_dev *wdev; -+ -+ wdev = ndev->ieee80211_ptr; -+ if (wdev == NULL) { -+ printk(KERN_ERR "[%s()] in ndev=%p: IEEE80211ptr=%p\n", __FUNCTION__, ndev, wdev); -+ return; -+ } -+ wl = ndev_to_wl(ndev); - - wl_deinit_cfg80211_priv(wl); - wl_free_wdev(wl); diff --git a/debian/patches/series b/debian/patches/series index b7822cf..360f5e1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,4 +4,3 @@ 03-rename-to-wlan0.patch 04-user_ioctl.patch 05-remove-time-and-date-macros.patch -09-fix_system_hang_when_deleting_monitor.patch -- 2.1.4
>From a1886c2b3c8d608f2cb0399bb20314a0806f6c7e Mon Sep 17 00:00:00 2001 From: Rafael Cunha de Almeida <almeida...@gmail.com> Date: Sun, 4 Oct 2015 14:38:47 +0100 Subject: [PATCH 6/6] Refresh patches with quilt --- debian/patches/00-changelog.patch | 6 ++---- debian/patches/01-shipped-module.patch | 16 +++++++--------- debian/patches/02-license.patch | 12 +++++------- debian/patches/03-rename-to-wlan0.patch | 20 ++++++++------------ debian/patches/04-user_ioctl.patch | 8 +++----- debian/patches/05-remove-time-and-date-macros.patch | 10 ++++------ 6 files changed, 29 insertions(+), 43 deletions(-) diff --git a/debian/patches/00-changelog.patch b/debian/patches/00-changelog.patch index 00c5692..2fb39b5 100644 --- a/debian/patches/00-changelog.patch +++ b/debian/patches/00-changelog.patch @@ -29,10 +29,8 @@ Forwarded: <no|not-needed|url proving that it has been forwarded> Reviewed-By: <name and email of someone who approved the patch> Last-Update: <YYYY-MM-DD> -Index: broadcom-sta-6.30.223.248/CHANGELOG -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ broadcom-sta-6.30.223.248/CHANGELOG 2014-08-11 08:16:11.943132001 +0400 +--- /dev/null ++++ b/CHANGELOG @@ -0,0 +1,93 @@ +WHAT'S NEW IN RELEASE 6.30.223.23X +--------------------------------- diff --git a/debian/patches/01-shipped-module.patch b/debian/patches/01-shipped-module.patch index 304431a..a688bee 100644 --- a/debian/patches/01-shipped-module.patch +++ b/debian/patches/01-shipped-module.patch @@ -1,10 +1,8 @@ -Index: broadcom-sta-6.30.223.248/amd64/Makefile -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/Makefile 2014-08-11 08:22:15.575131107 +0400 -+++ broadcom-sta-6.30.223.248/amd64/Makefile 2014-08-11 08:32:17.555129627 +0400 -@@ -126,9 +126,27 @@ - EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include - #EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR +--- a/amd64/Makefile ++++ b/amd64/Makefile +@@ -145,9 +145,27 @@ + EXTRA_CFLAGS += -Wno-date-time + endif -EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped +# Look for kernel architecture. @@ -23,10 +21,10 @@ Index: broadcom-sta-6.30.223.248/amd64/Makefile + endif + endif +endif ++ ++EXTRA_LDFLAGS := $(src)/lib/$(SHIPPED) -KBASE ?= /lib/modules/`uname -r` -+EXTRA_LDFLAGS := $(src)/lib/$(SHIPPED) -+ +KVER ?= $(shell uname -r) +KBASE ?= /lib/modules/$(KVER) KBUILD_DIR ?= $(KBASE)/build diff --git a/debian/patches/02-license.patch b/debian/patches/02-license.patch index 63d08aa..87ef8ba 100644 --- a/debian/patches/02-license.patch +++ b/debian/patches/02-license.patch @@ -1,10 +1,8 @@ -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-08-11 08:35:26.583129163 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-08-11 08:35:26.583129163 +0400 -@@ -156,6 +156,8 @@ - static void wl_report_radio_state(wl_info_t *wl); - #endif +--- a/amd64/src/wl/sys/wl_linux.c ++++ b/amd64/src/wl/sys/wl_linux.c +@@ -158,6 +158,8 @@ + + MODULE_LICENSE("MIXED/Proprietary"); +MODULE_LICENSE("MIXED/Proprietary"); + diff --git a/debian/patches/03-rename-to-wlan0.patch b/debian/patches/03-rename-to-wlan0.patch index 58b96e4..0bf0344 100644 --- a/debian/patches/03-rename-to-wlan0.patch +++ b/debian/patches/03-rename-to-wlan0.patch @@ -1,8 +1,6 @@ -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-08-11 08:37:08.683128912 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-08-11 08:37:08.679128912 +0400 -@@ -217,7 +217,7 @@ +--- a/amd64/src/wl/sys/wl_linux.c ++++ b/amd64/src/wl/sys/wl_linux.c +@@ -219,7 +219,7 @@ #define to_str(s) #s #define quote_str(s) to_str(s) @@ -11,11 +9,9 @@ Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME); -Index: broadcom-sta-6.30.223.248/README.txt -=================================================================== ---- broadcom-sta-6.30.223.248.orig/README.txt 2014-08-11 08:37:08.683128912 +0400 -+++ broadcom-sta-6.30.223.248/README.txt 2014-08-11 08:37:08.679128912 +0400 -@@ -279,7 +279,7 @@ +--- a/README.txt ++++ b/README.txt +@@ -278,7 +278,7 @@ TX POWER EXPLAINED ------------------ @@ -24,7 +20,7 @@ Index: broadcom-sta-6.30.223.248/README.txt user-requested transmit power level. This can go up to 32 dbm and allows the user to lower the tx power to levels below the regulatory limit. Internally, the actual tx power is always kept within regulatory limits -@@ -353,7 +353,7 @@ +@@ -352,7 +352,7 @@ + Supports up to linux kernel 2.6.32 + Supports hidden networks + Supports rfkill in kernels < 2.6.31 @@ -33,7 +29,7 @@ Index: broadcom-sta-6.30.223.248/README.txt + Support for bcm4313 + Additional channels in both 2.4 and 5 Ghz bands + Fixed issue with tkip group keys that caused this message to repeat often: -@@ -392,14 +392,14 @@ +@@ -391,14 +391,14 @@ wpa_supplicant 0.6.3 + nl80211 + WEP - (Note: This would only affect you if you are using wpa_supplicant directly from the command line and specify diff --git a/debian/patches/04-user_ioctl.patch b/debian/patches/04-user_ioctl.patch index b389342..442270b 100644 --- a/debian/patches/04-user_ioctl.patch +++ b/debian/patches/04-user_ioctl.patch @@ -3,11 +3,9 @@ Author: Cyril Lacoux <clac...@easter-eggs.com> Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672677 Last-Update: 2012-11-19 -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-08-11 08:40:11.563128462 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-08-11 08:40:11.563128462 +0400 -@@ -1653,11 +1653,7 @@ +--- a/amd64/src/wl/sys/wl_linux.c ++++ b/amd64/src/wl/sys/wl_linux.c +@@ -1661,11 +1661,7 @@ } WL_LOCK(wl); diff --git a/debian/patches/05-remove-time-and-date-macros.patch b/debian/patches/05-remove-time-and-date-macros.patch index 7568e29..df322b4 100644 --- a/debian/patches/05-remove-time-and-date-macros.patch +++ b/debian/patches/05-remove-time-and-date-macros.patch @@ -4,11 +4,9 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752864 Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754434 Last-Update: 2014-08-13 -Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c -=================================================================== ---- broadcom-sta-6.30.223.248.orig/amd64/src/wl/sys/wl_linux.c 2014-08-13 08:04:37.213841222 +0400 -+++ broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c 2014-08-13 08:04:37.209841222 +0400 -@@ -724,7 +724,7 @@ +--- a/amd64/src/wl/sys/wl_linux.c ++++ b/amd64/src/wl/sys/wl_linux.c +@@ -726,7 +726,7 @@ WL_ALL_PASSIVE_ENAB(wl) ? ", Passive Mode" : "", EPI_VERSION_STR); #ifdef BCMDBG @@ -17,7 +15,7 @@ Index: broadcom-sta-6.30.223.248/amd64/src/wl/sys/wl_linux.c #endif printf("\n"); -@@ -2043,8 +2043,7 @@ +@@ -2051,8 +2051,7 @@ void wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b) { -- 2.1.4