Subject: Bug#773713: broadcom-sta: Please support kernel 3.18

From: "Eduard Bloch" <[email-masked]>
Date: Mon, 22 Dec 2014 15:48:02 +0100

Source: broadcom-sta
Version: 6.30.223.248-3
Severity: wishlist
Tags: patch

Hello Cyril,

I added the Gentoo patch for kernel 3.18 and fixed m-a support. I also
added versions to Breaks/Replaces because that didn't make sense IMHO,
the current versions can coexist. See attachment.

Regards,
Eduard.

-- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.18.1+ (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
diff -Nurd broadcom-sta-6.30.223.248_debian/debian/changelog broadcom-sta-6.30.223.248/debian/changelog
--- broadcom-sta-6.30.223.248_debian/debian/changelog	2014-12-07 15:07:56.000000000 +0100
+++ broadcom-sta-6.30.223.248/debian/changelog	2014-12-22 15:08:37.914183038 +0100
@@ -1,3 +1,13 @@
+broadcom-sta (6.30.223.248-3.1) experimental; urgency=low
+
+  * Non-maintainer upload.
+  * Added patch for kernel 3.18 support (from Gentoo, with little
+    modifications)
+  * Set some variables right for kernel-package/module-assistant usage, 
+    to build correctly against headers without instaling the kernel first
+
+ -- Eduard Bloch <ed@idefix>  Mon, 22 Dec 2014 14:59:25 +0100
+
 broadcom-sta (6.30.223.248-3) unstable; urgency=medium
 
   * Synced supported chipsets list with README.txt file (Closes: #762954).
diff -Nurd broadcom-sta-6.30.223.248_debian/debian/control broadcom-sta-6.30.223.248/debian/control
--- broadcom-sta-6.30.223.248_debian/debian/control	2014-10-28 08:15:47.000000000 +0100
+++ broadcom-sta-6.30.223.248/debian/control	2014-12-22 15:34:42.480182036 +0100
@@ -22,8 +22,8 @@
 Architecture: all
 Depends: ${misc:Depends}
 Recommends: wireless-tools
-Breaks: broadcom-sta-common, broadcom-sta-modules (<< 5.100.82.112-6~), broadcom-sta-source
-Replaces: broadcom-sta-common, broadcom-sta-modules (<< 5.100.82.112-6~), broadcom-sta-source
+Breaks: broadcom-sta-common (<< 6.30.223.248-1), broadcom-sta-modules (<< 5.100.82.112-6~), broadcom-sta-source (<< 6.30.223.248-1)
+Replaces: broadcom-sta-common (<< 6.30.223.248-1), broadcom-sta-modules (<< 5.100.82.112-6~), broadcom-sta-source (<< 6.30.223.248-1)
 Provides: broadcom-sta-modules
 Description: dkms source for the Broadcom STA Wireless driver
  Broadcom STA is a binary-only device driver to support the following IEEE
diff -Nurd broadcom-sta-6.30.223.248_debian/debian/patches/10-broadcom-sta-6.30.223.248-linux-3.18.patch broadcom-sta-6.30.223.248/debian/patches/10-broadcom-sta-6.30.223.248-linux-3.18.patch
--- broadcom-sta-6.30.223.248_debian/debian/patches/10-broadcom-sta-6.30.223.248-linux-3.18.patch	1970-01-01 01:00:00.000000000 +0100
+++ broadcom-sta-6.30.223.248/debian/patches/10-broadcom-sta-6.30.223.248-linux-3.18.patch	2014-12-22 15:06:58.698183381 +0100
@@ -0,0 +1,30 @@
+From 5aae9ccfda6dfc680403b4a5ff9a36dcd5331dfd Mon Sep 17 00:00:00 2001
+From: Michael Marineau <[email-masked]>
+Date: Tue, 11 Nov 2014 15:17:46 -0800
+Subject: [PATCH] linux 3.18
+
+http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5bc8c1f2b070bab82ed738f98ecfac725e33c57f
+---
+ src/wl/sys/wl_cfg80211_hybrid.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index 514a892..e3ebef2 100644
+--- a/amd64/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/amd64/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -2010,7 +2010,11 @@ static s32 wl_inform_single_bss(struct wl_cfg80211_priv *wl, struct wl_bss_info
+ 
+ 	notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
+ 	notify_ielen = le32_to_cpu(bi->ie_length);
+-	cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
++	cbss = cfg80211_inform_bss(wiphy, channel,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
++		CFG80211_BSS_FTYPE_UNKNOWN,
++#endif
++		(const u8 *)(bi->BSSID.octet),
+ 		0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
+ 		(const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
+ 
+-- 
+2.0.4
+
diff -Nurd broadcom-sta-6.30.223.248_debian/debian/patches/series broadcom-sta-6.30.223.248/debian/patches/series
--- broadcom-sta-6.30.223.248_debian/debian/patches/series	2014-12-07 14:18:59.000000000 +0100
+++ broadcom-sta-6.30.223.248/debian/patches/series	2014-12-22 15:00:40.434184690 +0100
@@ -8,3 +8,5 @@
 07-fix_procfs_handling.patch
 08-enable_error_traces.patch
 09-fix_system_hang_when_deleting_monitor.patch
+10-broadcom-sta-6.30.223.248-linux-3.18.patch
+
diff -Nurd broadcom-sta-6.30.223.248_debian/debian/rules.modules broadcom-sta-6.30.223.248/debian/rules.modules
--- broadcom-sta-6.30.223.248_debian/debian/rules.modules	2014-10-20 17:50:25.000000000 +0200
+++ broadcom-sta-6.30.223.248/debian/rules.modules	2014-12-22 15:16:26.274181417 +0100
@@ -8,7 +8,7 @@
 
 kdist_clean: prep-deb-files
 	dh_clean
-	$(MAKE) clean KBUILD=$(KSRC) KVER=$(KVERS)
+	$(MAKE) clean "KBUILD_DIR=$(KSRC)" "KVER=$(KVERS)"
 
 kdist_config: prep-deb-files
 
@@ -17,7 +17,7 @@
 	dh_testroot
 	dh_prep
 	# Build and install the module
-	make -C $(KSRC) M=$(CURDIR)
+	$(MAKE) "KBUILD_DIR=$(KSRC)" "KVER=$(KVERS)"
 	install -D -m 0644 wl.ko debian/$(PACKAGE)-$(KVERS)/lib/modules/$(KVERS)/kernel/drivers/net/wireless/wl.ko
 	dh_installdocs
 	dh_installchangelogs