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

Reply via email to