summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Popov <pinkbyte@gentoo.org>2013-05-12 10:50:34 +0000
committerSergey Popov <pinkbyte@gentoo.org>2013-05-12 10:50:34 +0000
commit802b80e8ff1be4523a9e85a767779a2abb0450c1 (patch)
tree06bf7fd6f1e9d8b3d2f30993315616ec10c2e8cf /net-wireless/broadcom-sta
parentRemove incorrect explicit call to linux-info_pkg_setup (diff)
downloadhistorical-802b80e8ff1be4523a9e85a767779a2abb0450c1.tar.gz
historical-802b80e8ff1be4523a9e85a767779a2abb0450c1.tar.bz2
historical-802b80e8ff1be4523a9e85a767779a2abb0450c1.zip
Revision bump: add compatibility with more kernel versions, wrt bugs #437898 and #468388, thanks to M. B. <tomboy64 AT sina.cn>
Package-Manager: portage-2.2.0_alpha173/cvs/Linux x86_64 Manifest-Sign-Key: 0x1F357D42
Diffstat (limited to 'net-wireless/broadcom-sta')
-rw-r--r--net-wireless/broadcom-sta/ChangeLog15
-rw-r--r--net-wireless/broadcom-sta/Manifest23
-rw-r--r--net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r3.ebuild73
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch14
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.4.patch12
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.6.patch60
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.8.patch71
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.9.patch14
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch32
9 files changed, 305 insertions, 9 deletions
diff --git a/net-wireless/broadcom-sta/ChangeLog b/net-wireless/broadcom-sta/ChangeLog
index 590780a6cbb5..f806138053b3 100644
--- a/net-wireless/broadcom-sta/ChangeLog
+++ b/net-wireless/broadcom-sta/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for net-wireless/broadcom-sta
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.50 2013/05/12 10:45:38 pinkbyte Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.51 2013/05/12 10:50:32 pinkbyte Exp $
+
+*broadcom-sta-5.100.82.112-r3 (12 May 2013)
+
+ 12 May 2013; Sergey Popov <pinkbyte@gentoo.org>
+ +broadcom-sta-5.100.82.112-r3.ebuild,
+ +files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch,
+ +files/broadcom-sta-5.100.82.112-linux-3.4.patch,
+ +files/broadcom-sta-5.100.82.112-linux-3.6.patch,
+ +files/broadcom-sta-5.100.82.112-linux-3.8.patch,
+ +files/broadcom-sta-5.100.82.112-linux-3.9.patch,
+ +files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch:
+ Revision bump: add compatibility with more kernel versions, wrt bugs #437898
+ and #468388, thanks to M. B. <tomboy64 AT sina.cn>
12 May 2013; Sergey Popov <pinkbyte@gentoo.org>
broadcom-sta-6.30.223.30-r1.ebuild:
diff --git a/net-wireless/broadcom-sta/Manifest b/net-wireless/broadcom-sta/Manifest
index 97db92dc3529..686a1cb14cbd 100644
--- a/net-wireless/broadcom-sta/Manifest
+++ b/net-wireless/broadcom-sta/Manifest
@@ -4,7 +4,13 @@ Hash: SHA256
AUX broadcom-sta-5.10.91.9-license.patch 716 SHA256 53544703c15eb5e7f35721c436bfd0acf7db3de1df83b2e344bfc7090cb14cf1 SHA512 abdea6d154e66f43fd629eefe3dfd19a43318acfc54b3ac52abd9c8e839d25971214971b14429f5fb09091fbb16793d2ce3db1093c2ccca9496975085156b94c WHIRLPOOL 98ec882b0b0db93e5a19bc7aa465c7c758f3c36bd3fa5159458520b4d1a298549c5072a46f50d351dc48cfb01216b11a164291539f72455d37caad593d61483a
AUX broadcom-sta-5.100.82.111-linux-3.0.patch 935 SHA256 cd349fef72bb33025e59105fefa69c3e60066985707f396e03235102ca938137 SHA512 00e3139158b53f80d03bb6aa5b4eb3435cc453b100ee57b638a138ae0b624c88946c63dc20d559f05bee451275d7662dfb8c29e68de11ebe04c8df87a6a86f70 WHIRLPOOL 84d0d41e8a3e2b0b248ffe5d4c5256c68e1533aa58049a34ffc98e5f0bd0a2a20cffd58adf20cdced79096d10134bec474af5f9666a225c2103dfffc93b030a8
AUX broadcom-sta-5.100.82.112-linux-2.6.39.patch 564 SHA256 2df2f242d6b34118cecbb8fb5c209356bf095436e8b553705f9f9f022648b53d SHA512 5b69b3b41af0a2f090b3fb021c188a846207b59ba0baf324cf4c93a5d3f9105fcd8f7e0aee592ebe0e898dd39c1988c65c8adeba643f1899f35287b0362b043e WHIRLPOOL 3d7dc0e31422b960038d52f5c62e15d1f0980dabb304cfc8cecc897af985a4ddcfaa90fb98150c25b2bc8040bb76c5c3e0b2afe8b7871397fbd20ed4a60debad
+AUX broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch 428 SHA256 4ee90ad65d4c970f7858f09772e2c4f65a919d31c5560de1125be89962ec6da2 SHA512 dbcbb8ce3f53d021d5b43fb7ae400293c056afee656b071a317b1a3b55389ce3b6b648f7e02bddc7a20ac0cb03d2f149f9b68f355705eb7e2e0cbb4d948d74b4 WHIRLPOOL 3cefaed176eaabb337af925ad0c0d73ac7a6e59e117c0ae7dc42607da06c39e530a795af71418387a2796e767ff70f4be5aa317e7b71bb6891e088b85c49182d
AUX broadcom-sta-5.100.82.112-linux-3.2.patch 541 SHA256 65e89b0950fe3972c3212c970d307f1b4ef633dfd622f94f4b5b816cb70af430 SHA512 e0d47ba584b302a3f6cf5da084d734cea44970a76e094bcc18acec07936ad77d7a69ef39c9333eef09256d0f7477d4d153b76e7378544ab40671c5aa1c7eedff WHIRLPOOL d681d691c4ca305dca3bee7501e831c9b64fe2912b5b91a3fc86c1d40606896c2cb479806eeb69a779905495f41a1513e75d0a4503b722459d1577559eb8ce35
+AUX broadcom-sta-5.100.82.112-linux-3.4.patch 355 SHA256 d5c27edc54e712f2925a4e61fb8255c2e4b84b22ff921c0550762c326671d196 SHA512 e38d37f539f60d8c6c88b58f45e48e5d177ec53df76f22d1ecbebee7052088b208160ad74cdf9c2d23f0b167678a27f8be1b8d7d40dfaef5621422bd4c58e0a2 WHIRLPOOL 796ee3092ad15828cbdd7d467a8a018bf167797278b5f3a5446a342fa04f95415ddcf3ab96a57852d0964358fc5a03fb713a22316eda20e14d808b6e9fa3961c
+AUX broadcom-sta-5.100.82.112-linux-3.6.patch 2304 SHA256 8db35f014709fce04a3848a45f9fb2777da17eeaae313cfad032c30a957aeedc SHA512 d15f20c271c5a3acd240a731bbdb9b44a1e0f4f52b998a1746c44bba5ab21e9de9a21765eeaa9b41be26b1ef2596d6aed6b39d2b4e9872b0d4720a7402b914e1 WHIRLPOOL ad7a48dd487340c9df820ed48fcdf851ec11a5f683f0e4ad506d6952c7995c2f02bc9e4667c833a90797bf4a1a9737e0603442ae10c289f6e19180437442faf7
+AUX broadcom-sta-5.100.82.112-linux-3.8.patch 2503 SHA256 01bd90f9dd9b80ecc4b1b3bff8b10ad1f5d23bbecbfbeda13c4c99e6ae62cba3 SHA512 c39269a8b820a3084fc25522da860c128426979b53b39bfbf0c455d531a8592b3320d553b82284b5f1a5532ac0518159e5a034637f036e4f01c3a734aa3c1928 WHIRLPOOL d18d4df381559142d413075ee78f0d3bdd512b8353753b61519dc69414db636f5eb87b4ff2c2c75e7da62d148dcbb9a388656ce2bece24db13d3e351388202ae
+AUX broadcom-sta-5.100.82.112-linux-3.9.patch 420 SHA256 9f8229e27a5d1f34deb3e956d1819ba09b39e2eb71bf15e110e41ca9275109ad SHA512 a902239d709f6aafff719beea4e1c1d97fb43e5d37743b70e70a8fc59610ee5e1329bbea7b45968f426b6d97d1ed03866de94e77deb36f70831e595ed71d2db6 WHIRLPOOL c82b711082889730cd057448246e1809f5007da2e26f643ff90b9f69385af0675f3da022e4afa8fe5ea9bfeb51faa4b888b5901b1441fa597f7d3734950ae8f2
+AUX broadcom-sta-5.100.82.112-remove-rssi-errors.patch 1284 SHA256 0a83f0bc58afdf48e97d69d1a2e30fd862e37ea5140fd3fbb7f644b858e43f79 SHA512 9e2a94a4367961e1e815b480d7b5aebd0ee9e32d2ce2b4a7e4d82dcf2cce47b11cb09a9e5c01ecc3035ea373e97d5e2d46d458ad4d204df67533cf14852cffc8 WHIRLPOOL 54791f855815a516a989df4298127cd6cc06f3b0ab611ddd32624d735fd81a31b1402ba1bb1cbc7ed015aa0494309e918cce14535f850134c4e615ff03d0511c
AUX broadcom-sta-5.100.82.38-gcc.patch 417 SHA256 82ad7a047e8e384fe4a571e054fabb0f629c81012f035f3525fa51eb611cc736 SHA512 d271493861fedf937be6f534fab1eaec95e7db3324583bfafb52445d1a5001c07d596fac88b150c7bd83e02d0095ad2867dc2f0ffbcfb320f4536d557d4a663e WHIRLPOOL 32b270e795503b5cb97c2407b472b62a93efffb14f2147680f45ad063839aa59526baadc72e9eeab424f1d36f236fd0e1bc40ae7ea9477d0dc2c043445fa7fc7
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
@@ -13,18 +19,19 @@ DIST bcmwl-kernel-source_6.30.223.30%2Bbdcom-0ubuntu1%7Eppa1_i386.deb 1732452 SH
DIST hybrid-portsrc_x86_32-v5_100_82_112.tar.gz 1139221 SHA256 85b4e3163b383943d5002a571efbd03f212d010ba0962ebdefb201fe6ce270e7
DIST hybrid-portsrc_x86_64-v5_100_82_112.tar.gz 1175410 SHA256 9cd32f164c748b4353f10a74f3b00640bb281e4b79f17114aac581e0b3cd4ae3 SHA512 485c4a661c30ebc076499f48d468ef30afdd5fdfd6458f4cd25fceaf15969f33e46695a173908d05e635a572efc152b5ae973493d53d5b4089335b03b0ba9a6d WHIRLPOOL 2e3259d3fde1830aeddf8ee38a070f891c0acb167bfe99d623b6102f1bc8ee8f3f776efc6370b1067063eea2069a93e5678e6ea3b3ab054e7d4d30b9f5db8f46
EBUILD broadcom-sta-5.100.82.112-r2.ebuild 1984 SHA256 c9b09ddfb8b1971d34140c99a1e8b0a3e39ce4181da3929feb9cd6958233faee SHA512 de2eed7c94de99e13fd3fcc8a619899140e5d8ccfc9710bbf71ac55d92552e4e6da3bfa26b03e096e8aa989d1e13fe0d65c3941d9137635f515487d103313563 WHIRLPOOL c59250db373c31d78d12f7137a6d8f9e4b7f95e93cd135a2c55161b8371e13c32d8198f7261e4ecbe7adfd81a2a3bd478ebb1b6b791d4f10236915ec7a4a2d68
+EBUILD broadcom-sta-5.100.82.112-r3.ebuild 2798 SHA256 e991c667833e8cc8cf155542f7516aa9e69f2bc2e52d04ef09f63ae8760b1ad3 SHA512 0fd87beec50cf4a291d8c050aecb7ddbf6e4e2a56fac323e79afa4a77074beecefda3c64088e0f863b0ce683be08fc9a9f3c9ae34460d9687e52b02b4c73e265 WHIRLPOOL d49ed3eb47356515f5cd8533ea1b8cccd675306dd6a9c1a20e391a2b62fe1efd1122c1e41bcee56a9aaddbabf6a7cc4f423380b2bd6e10928dfaa98be39189be
EBUILD broadcom-sta-6.30.223.30-r1.ebuild 3084 SHA256 fc0a13d30c3bf55a15f1c1892c1601689a976bde2788f811db221a8178609e50 SHA512 bd2c3ba740bcef1a4e1cafa6745499e2e0e783109d8b41d0143b5b2fc020b4f155b0c47b35e1fe20dace7ad258c3303ffce224ff9ca4c26766fce3e3e60ab8fa WHIRLPOOL 621b9f55c6b32867056004caa53ff812f19411aed0c8b43c1617aa69dd410d4b76a6b415823804f4b2f0517238530cd5fbc0269dd293c42314041423ce1032a7
EBUILD broadcom-sta-6.30.223.30.ebuild 2793 SHA256 5ff942eef90c01a1729a491a6ab09f4e627c18bc4a63958e89e5a4adf8126411 SHA512 63e540fb2a82313af185a3964a3d1d211c9c6a5f2a96af8b89251843f04f9c4d6710013397428194a56889688214e4c8a2f1330abd8718c941e5dffe75271aef WHIRLPOOL c167bbac867a84fb7fbd2545fd9ece1a8b50fe85d769da4f17ab64329ba05c9431b33699757ab65fee049245c9ac3a61fdd904d56d3c4893377f42009489d8e2
-MISC ChangeLog 11797 SHA256 f984168514b36fb476837f54841f4413cef5cc3d6aaae1de862e7b8557fefa9a SHA512 e4badb1017de7b6970017a3356b8f455fc6d5caf1350f5a8f4b05eab2a99b195b26688a1db1cfb4153fab9d276d2a6719b6855cd6416ef9e7b15bdd0f82e0fe4 WHIRLPOOL 0420eddcac65404257ab76d99ac39a2b54c907086cfdcda9fef1b87ea7b59fbba661cb3a22ab9665d7a42d1278f87adc1a4c6fde969f5087692c3d0c907af7e6
+MISC ChangeLog 12401 SHA256 6568126791eeb265812603de3434e9984c8a1fe55e6004092818ed188675c06e SHA512 7f1b4edbd03e507b49223ec28d24443227945033d208b624bdf583ecad1143af367b3216f6c7973c6fc336c06bfb37ce81ec451d6a93de614d80fd1efb682d08 WHIRLPOOL 1868c328fb643b9675f328eb1d6403c078d1e47ee03bbf7eee78e607ae8a056d0a279c4804ffe9dbf30fcf54ab864e8779e601bec7fc7895843f58674120b400
MISC metadata.xml 231 SHA256 1be6a1cf2be181172bfc3474a5815af1d8bca1e0c3b549be12b2cc6acaa7a665 SHA512 6ce376c5f35f2025d1b06b9ed0394f15011918553f5c4d46257998db2bfda39ec837d84527fdd9315c43c3dc16d2c5b9f78fdf27da4e024965a84441ab24fedc WHIRLPOOL 932d4cbd0f64b2cf8b2932576069e47149ae20a54024bb9ebfbb9ad8026413859a8299b102927fae3b708a02a98ef3d89ca1d9c09b1c840f348c85d782cd9b6b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQEcBAEBCAAGBQJRj3LTAAoJECo/aRed9267rMYIAL8dIDSmnd/XsRLZO2XKVCig
-RLv+VnGM8N4GkrZedGC6fT0KK9S/D+Xyc/RHzVdIFyDCStVGdftY9zbEsTFw6NRO
-2HKGeIUqMcjBzlEb/NM22KoWSGmSaa99OLarGRDAoa+1e/c3MkDkrYljD4Xqur+u
-IAddblpHjrAD+jIO8XQ67N4Rn85v/z9VDaW2NoO7Jz3wfffI6RHYTZAsMNIUT8eZ
-kQclfKSFQmVKPgSacw85nP9LKdYM5kVZdr48uouXbpTtEP+nPFmCQ5TK9JAfrafb
-YRQd30tte7YSb6i5tyUo5f54V3w0bMbBgBl/Yx6tblJU0usjxB6TmNNyvLNl0L4=
-=KIIn
+iQEcBAEBCAAGBQJRj3P5AAoJECo/aRed9267TbMIALNLWClnQEiW4mNYil7S5mM0
+9yAWo8BM2ZEf4l6ZPdr/OEK0DCXLfftKoZ4vX1J4bSXG63KeoXqbf8tIEszjq9eF
+th3qp4lvvQdiRJQc2t8OZHGEkEk9LZGub5wlPvY9uh7g6BuJPmGXkJ6vXwMIodC+
+XaQzaS6pv2/xT+liy0cwGyPsFGSFhZLGk9kBATzpwmakzrb83z21Ro83z1heUZPn
+0Z7IRIYhi7Arw5B5UfJIWFHF3xSosDBRl5yRuFCcZqMyZO4YrUv3bIJL6nqFM2gD
+OsTvYTQtmIfck5ov70NM58atJqSNGjCauZmPHCIRYVp+29eTbVW+8dVj+av+OLw=
+=XMVE
-----END PGP SIGNATURE-----
diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r3.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r3.ebuild
new file mode 100644
index 000000000000..7b3253c35c13
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r3.ebuild,v 1.1 2013/05/12 10:50:32 pinkbyte Exp $
+
+EAPI="5"
+inherit eutils 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-portsrc_x86_"
+SRC_URI="x86? ( ${SRC_BASE}32-v${PV//\./_}.tar.gz )
+ amd64? ( ${SRC_BASE}64-v${PV//\./_}.tar.gz )"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+RESTRICT="mirror"
+
+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 ~!SSB"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: 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 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}"
+ if kernel_is ge 3 6 0; then
+ BUILD_PARAMS="${BUILD_PARAMS} API=WEXT"
+ CONFIG_CHECK="${CONFIG_CHECK} WIRELESS_EXT"
+ fi
+ BUILD_TARGETS="wl.ko"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-5.10.91.9-license.patch" \
+ "${FILESDIR}/${PN}-5.100.82.38-gcc.patch" \
+ "${FILESDIR}/${PN}-5.100.82.111-linux-3.0.patch" \
+ "${FILESDIR}/${P}-linux-2.6.39.patch" \
+ "${FILESDIR}/${P}-linux-3.2-with-multicast.patch" \
+ "${FILESDIR}/${P}-linux-3.4.patch" \
+ "${FILESDIR}/${P}-linux-3.6.patch" \
+ "${FILESDIR}/${P}-linux-3.8.patch" \
+ "${FILESDIR}/${P}-linux-3.9.patch" \
+ "${FILESDIR}/${P}-remove-rssi-errors.patch"
+
+ epatch_user
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch
new file mode 100644
index 000000000000..c28bc0ee4ad6
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch
@@ -0,0 +1,14 @@
+--- src/wl/sys/wl_linux.c.old 2013-05-02 21:00:51.000000000 +0200
++++ src/wl/sys/wl_linux.c 2013-05-02 21:04:00.000000000 +0200
+@@ -385,7 +385,11 @@
+ #endif
+ .ndo_get_stats = wl_get_stats,
+ .ndo_set_mac_address = wl_set_mac_address,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
+ .ndo_set_multicast_list = wl_set_multicast_list,
++#else
++ .ndo_set_rx_mode = wl_set_multicast_list,
++#endif
+ .ndo_do_ioctl = wl_ioctl
+ };
+
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.4.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.4.patch
new file mode 100644
index 000000000000..2f1ad562cecc
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.4.patch
@@ -0,0 +1,12 @@
+--- src/wl/sys/wl_linux.c.old 2013-05-02 14:51:07.000000000 +0200
++++ src/wl/sys/wl_linux.c 2013-05-02 14:51:14.000000000 +0200
+@@ -40,7 +40,9 @@
+ #include <linux/pci_ids.h>
+ #define WLC_MAXBSSCFG 1
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
+ #include <asm/system.h>
++#endif
+ #include <asm/io.h>
+ #include <asm/irq.h>
+ #include <asm/pgtable.h>
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.6.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.6.patch
new file mode 100644
index 000000000000..17730dbe0c04
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.6.patch
@@ -0,0 +1,60 @@
+--- work.orig/src/wl/sys/wl_cfg80211.c 2012-11-05 21:12:30.402421835 +0100
++++ work/src/wl/sys/wl_cfg80211.c 2012-11-05 21:21:13.962421835 +0100
+@@ -40,9 +40,15 @@ u32 wl_dbg_level = WL_DBG_ERR | WL_DBG_I
+
+ static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
+ enum nl80211_iftype type, u32 *flags, struct vif_params *params);
+-static s32 __wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
++static s32 __wl_cfg80211_scan(struct wiphy *wiphy,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
++ struct net_device *ndev,
++#endif
+ struct cfg80211_scan_request *request, struct cfg80211_ssid *this_ssid);
+-static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
++static s32 wl_cfg80211_scan(struct wiphy *wiphy,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
++ struct net_device *ndev,
++#endif
+ struct cfg80211_scan_request *request);
+ static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed);
+ static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
+@@ -496,10 +502,16 @@ wl_cfg80211_change_iface(struct wiphy *w
+ }
+
+ static s32
+-__wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
++__wl_cfg80211_scan(struct wiphy *wiphy,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
++ struct net_device *ndev,
++#endif
+ struct cfg80211_scan_request *request,
+ struct cfg80211_ssid *this_ssid)
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
++ struct net_device *ndev = request->wdev->netdev;
++#endif
+ struct wl_priv *wl = ndev_to_wl(ndev);
+ struct cfg80211_ssid *ssids;
+ struct wl_scan_req *sr = wl_to_sr(wl);
+@@ -570,13 +582,20 @@ scan_out:
+ }
+
+ static s32
+-wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
++wl_cfg80211_scan(struct wiphy *wiphy,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
++ struct net_device *ndev,
++#endif
+ struct cfg80211_scan_request *request)
+ {
+ s32 err = 0;
+
+ CHECK_SYS_UP();
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
+ err = __wl_cfg80211_scan(wiphy, ndev, request, NULL);
++#else
++ err = __wl_cfg80211_scan(wiphy, request, NULL);
++#endif
+ if (err) {
+ WL_DBG(("scan error (%d)\n", err));
+ return err;
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.8.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.8.patch
new file mode 100644
index 000000000000..da2ddcca437e
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.8.patch
@@ -0,0 +1,71 @@
+--- /src/include/bcmutils.h~ 2011-10-22 18:55:54.000000000 +0200
++++ /src/include/bcmutils.h 2013-02-21 09:08:19.947034424 +0100
+@@ -555,7 +555,11 @@ extern void printbig(char *buf);
+ extern void prhex(const char *msg, uchar *buf, uint len);
+
+ extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
+ extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
++#else
++extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key);
++#endif
+ extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
+
+ extern const char *bcmerrorstr(int bcmerror);
+--- /src/wl/sys/wl_cfg80211.c~ 2013-02-21 09:06:18.971297216 +0100
++++ /src/wl/sys/wl_cfg80211.c 2013-02-21 09:10:56.682019739 +0100
+@@ -744,7 +744,11 @@ wl_cfg80211_join_ibss(struct wiphy *wiph
+ else
+ memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
+
+- wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
++ wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
++#else
++ wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size);
++#endif
+
+ err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
+ if (err) {
+@@ -2047,9 +2051,14 @@ static s32 wl_update_bss_info(struct wl_
+ struct bcm_tlv *tim;
+ u16 beacon_interval;
+ s32 dtim_period;
+- size_t ie_len;
+- u8 *ie;
+ s32 err = 0;
++ size_t ie_len;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
++ u8 *ie;
++#else
++ const u8 *ie;
++ const struct cfg80211_bss_ies *ies;
++#endif
+
+ ssid = &wl->profile->ssid;
+ bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
+@@ -2079,8 +2088,22 @@ static s32 wl_update_bss_info(struct wl_
+ beacon_interval = cpu_to_le16(bi->beacon_period);
+ } else {
+ WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
+- ie = bss->information_elements;
+- ie_len = bss->len_information_elements;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
++ ie = bss->information_elements;
++ ie_len = bss->len_information_elements;
++#else
++ rcu_read_lock();
++ ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies);
++ if (!ies) {
++ /* This should never happen */
++ rcu_read_unlock();
++ err = -EIO;
++ goto update_bss_info_out;
++ }
++ ie = ies->data;
++ ie_len = (size_t)(ies->len);
++ rcu_read_unlock();
++#endif
+ beacon_interval = bss->beacon_interval;
+ cfg80211_put_bss(bss);
+ }
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.9.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.9.patch
new file mode 100644
index 000000000000..e1f168f12707
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.9.patch
@@ -0,0 +1,14 @@
+--- src/wl/sys/wl_cfg80211.c.old 2013-05-02 17:10:36.000000000 +0200
++++ src/wl/sys/wl_cfg80211.c 2013-05-02 17:12:27.000000000 +0200
+@@ -2119,7 +2119,11 @@
+ rcu_read_unlock();
+ #endif
+ beacon_interval = bss->beacon_interval;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
+ cfg80211_put_bss(bss);
++#else
++ cfg80211_put_bss(wl_to_wiphy(wl), bss);
++#endif
+ }
+
+ tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM);
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch
new file mode 100644
index 000000000000..7f26746ee7a5
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch
@@ -0,0 +1,32 @@
+diff -Naur broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_linux.c broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_linux.c
+--- broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_linux.c 2012-05-24 09:45:02.520119025 +0400
++++ broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_linux.c 2012-05-24 09:46:52.116121834 +0400
+@@ -1581,11 +1581,7 @@
+ }
+
+ WL_LOCK(wl);
+- if (!capable(CAP_NET_ADMIN)) {
+- bcmerror = BCME_EPERM;
+- } else {
+- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
+- }
++ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
+ WL_UNLOCK(wl);
+
+ done1:
+
+diff -Naur broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_cfg80211.c broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_cfg80211.c
+--- broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_cfg80211.c 2012-05-24 09:45:33.268119813 +0400
++++ broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_cfg80211.c 2012-05-24 09:55:30.184135098 +0400
+@@ -1466,7 +1466,10 @@
+ scb_val.val = 0;
+ err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t));
+ if (err) {
+- WL_ERR(("Could not get rssi (%d)\n", err));
++ if (err != -EINVAL) {
++ // Don't fill syslog with EINVAL error
++ WL_ERR(("Could not get rssi (%d)\n", err));
++ }
+ return err;
+ }
+ rssi = dtoh32(scb_val.val);