fix build err with kernel 3.17/3.18, bug 523326
authorYixun Lan <dlan@gentoo.org>
Mon, 15 Dec 2014 06:25:55 +0000 (06:25 +0000)
committerYixun Lan <dlan@gentoo.org>
Mon, 15 Dec 2014 06:25:55 +0000 (06:25 +0000)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0xAABEFD55

net-wireless/broadcom-sta/ChangeLog
net-wireless/broadcom-sta/Manifest
net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r2.ebuild [new file with mode: 0644]
net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.17.patch [new file with mode: 0644]
net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.18.patch [new file with mode: 0644]

index 00e351b47b71bb330079e6878e42196b21e63456..a4c3c19cfe1a5fb2baeafe6ec3b0c32a83d2969c 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for net-wireless/broadcom-sta
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.62 2014/08/10 20:34:33 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.63 2014/12/15 06:25:39 dlan Exp $
+
+*broadcom-sta-6.30.223.248-r2 (15 Dec 2014)
+
+  15 Dec 2014; Yixun Lan <dlan@gentoo.org>
+  +broadcom-sta-6.30.223.248-r2.ebuild,
+  +files/broadcom-sta-6.30.223.248-linux-3.17.patch,
+  +files/broadcom-sta-6.30.223.248-linux-3.18.patch:
+  fix build err with kernel 3.17/3.18, bug 523326
 
   10 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org>
   broadcom-sta-6.30.223.30-r2.ebuild:
index 9dd876b6de4621412c280eade7d0ebe113afe02f..c9d102c30fe39c44eecede6067bd970f4ce5e4d7 100644 (file)
@@ -18,6 +18,8 @@ AUX broadcom-sta-6.30.223.141-linux-3.10.0.patch 2916 SHA256 ae3006413c98516ca70
 AUX broadcom-sta-6.30.223.141-linux-3.15.patch 653 SHA256 3941824ad6c43e6837acaaf5e09f3ae18b258b7b6a7caea84dc700dccca9eebf SHA512 427007f1f961bb47c2e5901fa3e775fef422414e6d85514bb5e8bbec33cbe263378ec6f0a6f47311be01e0c2bc9734d2b31fcce9e2b85da592a1bc26b298b0e8 WHIRLPOOL 28233cfb6f08dc0d5b17fce37a3712f9404544a2bb5934e74a47871e6d9abc8a6958bddfbae64b40517b1526caa2ecd8398864318777aae3d623bc9bf473b6ae
 AUX broadcom-sta-6.30.223.141-linux-recent.patch 3215 SHA256 a57e409b3ef9d7b3d630dd2d55e2383cc57ca8f3dc5d2c4854a882ffeaf77bcd SHA512 d97db5077f32e789df085b2995d4b555d20c954e6ca5238256a7d3d44267ae279a648d45f65bf417e733c17a83d8d4b7e3ebdd9993dbdc70b329ad240728acb8 WHIRLPOOL d34338acd25078bfd57a4aec21ef9aa4b5d27aee47e2a8f90822d65a7b6b5011c039d88bfcf3733c31988910b81aa769ec723e64b7476db5d91bf9eb2d76e368
 AUX broadcom-sta-6.30.223.141-makefile.patch 497 SHA256 3f1332be115991f21b03cf50de0af212faa8083017bf8ba724f110c602005060 SHA512 f403669dede71f3c9f2886bfa535518a9e89a4398d1da7789ff955f15c493dd5ede1f304b0980c300c580ac1ae2464a4e395fb40b72dffa98a5a015c3e7d74c5 WHIRLPOOL 9bad191388f78608d1cc7f13488dcf9dbcfe626a6522af3bf477aa46a2e7736921d48ab78750fa2e3b3aff10cd353a12a7a331b159988d263e5fd3fdb4b2a77f
+AUX broadcom-sta-6.30.223.248-linux-3.17.patch 955 SHA256 1edab90c3e4653e106461302248c38b69e6a5540bc9dd73c6954e2ee5e2a1cc7 SHA512 7cf1bf61cc2dd8c7432d2bfcf551897da19d3667b24d75823d4f2792712ba6e6bd91ee21501fc2c0aa77361187eb69bfcc2e7723e6abc09441316a61b0a860ef WHIRLPOOL a930610bb1b889fd479dc35a1c516acfed36005b0c7540cb393f8b72406077c700c8bca01c857e6b98e2b199a37800c2e4f492652107adb12e907a6504ebdea3
+AUX broadcom-sta-6.30.223.248-linux-3.18.patch 1167 SHA256 f9ba1c302fcb2b918ca0386917cbab9f3f8fe80c854fbe378edd4acad46d7b74 SHA512 5dc446d5c89e22283f85fe4fd1443aa926916304dcb87eb2127d3092b77c3d0f502bb0d70c3d23c185ee7680338b9586bdd5f02ce34bc5655a12de87dacfb7e4 WHIRLPOOL 81b9165cb226a26214dd33d81e447db074406fc17645f803b45fe08171a99789c4f0d294366c93e659720edcc3307bb5260a395d4624682412a8499c8c45950a
 AUX broadcom-sta-6.30.223.30-linux-3.10.0.patch 2916 SHA256 ae3006413c98516ca70c2e15610b4cd0a892bcd0813d019bc87816060415bdf8 SHA512 a57a75a83b0e8cbb1bcb0ecc99830a3e01d24ed89a55e44aeb8d8e5c45d958518374c42c2377be0964258232cdd9bb91516b4c9741bdf633870798ee52ca550d WHIRLPOOL dc34ad9a01823b620e38298841c6a85adfb24dc06adee1dd77419dd216509c58eba07d40a74c301806727b6f5ebd224effe6e463f22a727f5c61eb99268499ab
 AUX broadcom-sta-6.30.223.30-linux-3.9.0.patch 397 SHA256 d000f4d30a816368ad040f2271e019c8116c687d65999267b91d91eb73c63016 SHA512 600ea6d99096c4eba38ff29bdcff0c334bb4d6c6c98613a824d8fffc878992db9219d131e3bf1fe5c93f272df850f13b1d14b41a3402083733d337a882f01834 WHIRLPOOL 41d7b189840a7b68d5132388b8909438933d31803dd5bfa0abd61057636dd037c58865df4140ba76a73f32089f221ea5f6f5f3ba60f6047145551511892edb60
 AUX broadcom-sta-6.30.223.30-makefile.patch 497 SHA256 3f1332be115991f21b03cf50de0af212faa8083017bf8ba724f110c602005060 SHA512 f403669dede71f3c9f2886bfa535518a9e89a4398d1da7789ff955f15c493dd5ede1f304b0980c300c580ac1ae2464a4e395fb40b72dffa98a5a015c3e7d74c5 WHIRLPOOL 9bad191388f78608d1cc7f13488dcf9dbcfe626a6522af3bf477aa46a2e7736921d48ab78750fa2e3b3aff10cd353a12a7a331b159988d263e5fd3fdb4b2a77f
@@ -32,13 +34,24 @@ EBUILD broadcom-sta-6.30.223.141-r1.ebuild 2605 SHA256 ce91b10fa7e94675055a59554
 EBUILD broadcom-sta-6.30.223.141-r2.ebuild 2599 SHA256 37a8a947496997bc14368c22097f63dc9958baaacce2894848926517dca7fc9c SHA512 b3521717c6f8b7367343ab64290f665f61aa890dce6131c26635e0d8a59fa5f7a1fc9bbe3f9a27cecb4f9c497fb5bb378a34b773f4b4c06d2a6d2c7b9ba92dea WHIRLPOOL 0553f88a2888f88ad22020f7131d3ce8388e1d88bd6034d5c66d0ae1d0358bcadd87efd8a6fa59db773e10a8b0f31786a29e39908938749cc437fac8583bf0e6
 EBUILD broadcom-sta-6.30.223.141.ebuild 2723 SHA256 7db93e60885da6d38fe0252e2d5fa90f392130ffb3c9d403341a3dd5d1daba43 SHA512 8df8c3194986bc2c3dc85f14b6d5532004cfc3f57b2ec70c20a4d6a99fddccd4a46b86e766a3f957b7fd3ef0db246d9742ecb3e7c69748e11b05e7f01f2dd331 WHIRLPOOL 3c9761753496fef23f81d2a73113faa2620d828e66c7d6e7b35096c61c5e6de310afcaca0747ce9da77dda98fb0a084a9e178e878515f6c36cfa983575710649
 EBUILD broadcom-sta-6.30.223.248-r1.ebuild 2865 SHA256 37ccc43cb1db2629305396d651b3a1ef6cb69dc70fe71c5509b10ac92e4171c4 SHA512 04ceda8f10b56a840930d722c7b75ba6a60ba753b4e4f8d59f8aeb44b4f2fdf439f4c014cb1d38223a58eb5cb286a06ff2d5dca4c9709b94929761984d416de4 WHIRLPOOL 9266b35a8cfab8f1c05e7e3aed95e139869f826e699865171ab408b00b2326d2fe4e536bc3b706acc29a87764b74e8954a97a8d691dfefb709ed578b63445d82
+EBUILD broadcom-sta-6.30.223.248-r2.ebuild 2973 SHA256 e39bde563942bae4024c5fcce12738177c9388c0428da16fc5ef5281f70f1fa1 SHA512 1249555d7b900062bedc8df333cec68c2f193d6e719693a918535211765b1f3e7a6a895461cdec3a6b5e133c2305b7907c0f2a17cf116b10337207e76c5464a6 WHIRLPOOL b82405a802679c5d6c68d7b2afb8616a79724e8f734867b879ef0bf064b60bc1dee595eab5c0d0376744ee9591824675cda6586fc6191771e4537d744cbb2ece
 EBUILD broadcom-sta-6.30.223.30-r2.ebuild 3186 SHA256 b65c754b6a6fd30f31dbdaeb522abcee215b74135e91c8f1fd4d92d5b017ec1f SHA512 da2582731c379c54a2ddb95bf232c6c8ba5e5c4a374d7e46c87afe31e0748e9de61841c7db1a9c8fdad5b208225b73f979c795e62d1c7a8ecb03a13bf4ab0c0a WHIRLPOOL c29ba37df7f69c078f99313bd6b1c287f0ac45282b400d09e4aec3cc6cb0f263cab67e9400c1cf69d6a808e4a5e82806e38c106296533655a11d4827ae674ca4
-MISC ChangeLog 15081 SHA256 26c54f812ce3769cae26e940057ebaaa5cfd994cd5b6bb0f9c7e7a3d60ad3956 SHA512 c723417216c2aaa66ea950305b2dc08944b3a54fd978e9f59d233e43873904398bb69f48d898e7cf27edbc7689508e5255de860bf7d136377c10a572bef5c463 WHIRLPOOL 1098e921cc7e81a1dd71d1c0906e1454883c58c7eb19b0f33a383f7c4c353c22a33c3c27ea6ab85ffacded59d56e8670731ca2cca9779d2a65ae0430b6c9af34
+MISC ChangeLog 15364 SHA256 fd101338d7fc912f0357c40518a8328bd4ccb326a27a20d6ec775463951c954a SHA512 4e6ba1fa8a0fadce16bbb060e187135bbbf41754bd2dba3caf3976b98c906b8252ba47b204419743b2816ac3d211d89ff152de1e9374386879a7dc3b7e1276d3 WHIRLPOOL e1200a3996995c147946973e041a419e624d3434c248f31c9d56b9dad068709193d2df7a813c279fc390a02197af7c3877bfaad6f5db9495aa1ed32fa534db37
 MISC metadata.xml 231 SHA256 1be6a1cf2be181172bfc3474a5815af1d8bca1e0c3b549be12b2cc6acaa7a665 SHA512 6ce376c5f35f2025d1b06b9ed0394f15011918553f5c4d46257998db2bfda39ec837d84527fdd9315c43c3dc16d2c5b9f78fdf27da4e024965a84441ab24fedc WHIRLPOOL 932d4cbd0f64b2cf8b2932576069e47149ae20a54024bb9ebfbb9ad8026413859a8299b102927fae3b708a02a98ef3d89ca1d9c09b1c840f348c85d782cd9b6b
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iEYEAREIAAYFAlPn11kACgkQcaHudmEf86oJ5gCfec29AekRDkn5w0aluxOf1akj
-l9kAn2iVEU3JjL5VSxEag1i+h9GLtitQ
-=sVDp
+iQIcBAEBCAAGBQJUjn7wAAoJEJIMDbyqvv1V5YkQAK5PRji7yxDM5EkmxXzApukV
+w00/VpXgy3E3y1FG1T+Qq+sJKzmm9eOiivBjrJiwuJUjMECO/9HGHCnQBybOo2GM
++Pz93Y26OyL0HvTX6M2w6gdQmaMX6gyD0oCeJBW8wD88ngwMK0U54x0TmN7FQJCs
+Q8JDAx1h/o29G4x+I5FO5hZLm3t1mjbLszOUlUp+TQ5HageTjb9H0K4zYRfPtpSi
+jX8GVqr2CozVX8qBu69u6ec9l+EYxuJLRNjGlz/n2rPSTw/y5Fbp8SKXYtSd++VI
+sbVcZ4lZV4+yBUnHvzc3VUJ61rXQFGIX06ViY2M06r/0rXVBhHefsP6x1zOc5LmB
+XsfTWR5bGvDssWewBoHsiOqs+owXIk82uucyW75ntnQBS7VvxcMI9spcjwZ8yNII
+dRrWaXoCRN1tdFp57GusyzG1NAt4PJgBpT0N/Dr7VpKbVm//Sg5UGt8DkRZ2UI+c
+FQXx4UTOdrf8CBraITsqqE0+AUSup9PnwRroOqoOf13jGsGxGZMncQuuhRUAKL5H
+RwQm8zRC9lrBUu81g7G5RswIU6HL1Hf2nExkhTlrI+QMdJWl3FZt6jPaYRIYcA3B
+/oL7IoLW4nnqNUFWMUF3ISMfIeWNYatBW95KgkoqMmOPk4fl++sPpZ5fTjM9JwfP
+BEZRXmsxM2PrNyUlZdu5
+=dGrD
 -----END PGP SIGNATURE-----
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r2.ebuild
new file mode 100644 (file)
index 0000000..0469fed
--- /dev/null
@@ -0,0 +1,77 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r2.ebuild,v 1.1 2014/12/15 06:25:39 dlan Exp $
+
+EAPI=5
+inherit eutils linux-info linux-mod
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
+HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
+SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
+SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
+       amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
+       http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+       # bug #300570
+       # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+       # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+       # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+       CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
+       CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+       ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+       ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
+       ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+       ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+       ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+       ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+       ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+       if kernel_is ge 3 8 8; then
+               CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
+       elif kernel_is ge 2 6 32; then
+               CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+       elif kernel_is ge 2 6 31; then
+               CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+       elif kernel_is ge 2 6 29; then
+               CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+       else
+               CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+       fi
+
+       linux-mod_pkg_setup
+
+       BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+       BUILD_TARGETS="wl.ko"
+}
+
+src_prepare() {
+       epatch \
+               "${FILESDIR}/${PN}-6.30.223.141-license.patch" \
+               "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
+               "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
+               "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
+               "${FILESDIR}/${PN}-6.30.223.141-linux-3.15.patch" \
+               "${FILESDIR}/${PN}-6.30.223.248-linux-3.17.patch" \
+               "${FILESDIR}/${PN}-6.30.223.248-linux-3.18.patch"
+
+       epatch_user
+}
+
+src_install() {
+       linux-mod_src_install
+
+       dodoc "${DISTDIR}/README-${P}.txt"
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.17.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.17.patch
new file mode 100644 (file)
index 0000000..6ee0092
--- /dev/null
@@ -0,0 +1,29 @@
+From 5f7db08c046bd31b162a102ca868fa334a0357b9 Mon Sep 17 00:00:00 2001
+From: Michael Marineau <mike@marineau.org>
+Date: Sat, 20 Sep 2014 12:49:43 -0700
+Subject: [PATCH] linux 3.17
+
+http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c835a677331495cf137a7f8a023463afd9f032f8
+---
+ src/wl/sys/wl_linux.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index 1622127..11c4ec2 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -1308,7 +1308,11 @@ wl_alloc_linux_if(wl_if_t *wlif)
+       dev->priv = priv_link;
+ #else
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0))
+       dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
++#else
++      dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN, ether_setup);
++#endif
+       if (!dev) {
+               WL_ERROR(("wl%d: %s: alloc_netdev failed\n",
+                       (wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__));
+-- 
+1.8.5.5
+
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.18.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.18.patch
new file mode 100644 (file)
index 0000000..4860912
--- /dev/null
@@ -0,0 +1,30 @@
+From 5aae9ccfda6dfc680403b4a5ff9a36dcd5331dfd Mon Sep 17 00:00:00 2001
+From: Michael Marineau <mike@marineau.org>
+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/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/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
+