--- Begin Message ---
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 <[email protected]>
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 <[email protected]>
-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 <[email protected]>
+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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
-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 <[email protected]>
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 <[email protected]>
-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 <[email protected]>
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 <[email protected]>
-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 <[email protected]>
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 <[email protected]>
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
--- End Message ---