pentoo-sources: bump, cleanup, simplify

This commit is contained in:
Rick Farina (Zero_Chaos) 2020-07-09 22:29:58 -04:00
parent 4804c8a6ed
commit afb5b9301b
No known key found for this signature in database
GPG key ID: A29433C0AA431DDC
20 changed files with 46862 additions and 438 deletions

View file

@ -1,33 +1,8 @@
DIST genpatches-5.1-15.base.tar.xz 440208 BLAKE2B 604230a0e9d32122242ad1f9996bc9c607298432bc7761f71c5fa39a15645fa1a22de69ee5536f9a26f087ccf5500dd6d638eea01cf7778b940db40dd8a2c99d SHA512 d19acbb4ee7599bc5ac61ff91576ae79cd4b41035b650d564cd5ff06951d6eb66b13d995320f366f425c0bd82cbd50106907ba499bfb4af65094da9a72df9a69
DIST genpatches-5.1-15.experimental.tar.xz 5808 BLAKE2B 605a5bdd7cc827d37e25b1c4e9c907727454f574005a6179eb27547e6e0844f8e2e3d4c1daf83e09183f2e58efdd9518958b7719546c50fffc3e01808f5bff1d SHA512 2e8bb2285fff04ee9a453d1fbe28b535430737f3da680a2fd10ad8b8eda7100cf7fb1ddd307d7a15b8e7ec0851cc8c264ac6ae6f54cd2a4529fd3160ab1872a5
DIST genpatches-5.1-15.extras.tar.xz 1720 BLAKE2B 20f11d3d74fd03108247b8f8ebc6e6cebc90ea704724ba90bf842afbfb2e3dbc6d8c7ff4c46c267d9efe9a55051c4feab23654273e7a286c1449bc8663e912fd SHA512 e03f547465c14999a1671d4e5a35f491412fabd993f6a7cc7abb617abaf2f9a54a5791f32b203380b951186af7e1057d7ed16d1687ef1350cd433d43a7c2da86
DIST genpatches-5.2-14.base.tar.xz 517244 BLAKE2B b2601a8ad8d035142881cdd1dcb5c07ffe96d861fcce8b11ff4520468919767c3df2b3b943f99bea160e9d43370f76aec7be8f3ea0cc7942f11b288e671836bf SHA512 c5e4751fe7f8f239ec1087a8986ae12377d041f82bbfd2299df88835288ca063a618155a84516942f99c9d3148b4abb363f7fab8cc8e4eb6c01ab5a8a0d6f794
DIST genpatches-5.2-14.experimental.tar.xz 6148 BLAKE2B 05017cfdda21711a13a12c2cf31afb8780a005c8fcef63b9a8a665b09bd10d649c72c1c2e85e193b747033eb739d3734400c8c32bfcd3bbc1b85bbc7aff81fad SHA512 86f298e3ff0782e651e24853d73fa5cc686c8f978645233127cf3c35f603f0c46d34d75f0b8fb145a094d74192c36b3032c38ba36a74f358e971593a5d7320d6
DIST genpatches-5.2-14.extras.tar.xz 1724 BLAKE2B bdf4f9b0c6ec641ee1dc5daa3552022bac3ad22d6def9604013b3d8ee0475f9bc3c823a5c5135c0031410281f13d6657f1dd9239bdd3b7433d6960334eb55d5e SHA512 282e43f0873af088574ffbdd3538e4ea9e82902b73d4ff565b32c5814b0c2a441e7095213db12df5512e5a42785b03d5bca0b02391c0a3bd738f8d9481f69cb7
DIST genpatches-5.3-21.base.tar.xz 657548 BLAKE2B 9a2c4bd99381d1f70af24aa3088b65bd4e5926a3d26c279faecb3e36f82439cf37b83e6ef5d376d56c88ee61839fe18ccc7da4f4879924c3ca9ee46c2e03af3c SHA512 760afbf6106d3630a56aea8178cb62a0739526209786d5d90b9fdda82f71ac75c0d7bbdca2bfe8b165a6fd089262c771f126799bd1d3eba66107ffd6bc7ecf9a
DIST genpatches-5.3-21.experimental.tar.xz 6148 BLAKE2B 7b5dfddf08f8a9b0a48a11bb3dd684103f5d9c88ab22128043cf369f451028fc1cf69ff7531c166495385638506942ef2b5806b836dfdce7aefb965a11d2d39e SHA512 5a1d291b669c3910501ccdab16e7a389230d15213ff2974c74141c15fcac9fdf8d6b54149296ee826fc3e4d7b8ef69a30456c53442e400155cf46ec253728db1
DIST genpatches-5.3-21.extras.tar.xz 1736 BLAKE2B f3269248772d7f436a86b810740928f19e7a1da76e7c09e2c19b9bb492238a270c3b06ac9d4c5b33ba236692ab3703b0aee6c9e600f2b8e8ba2824e9a7764e0f SHA512 47014172299e6ebbc835c7fbbe8cab4f468f676b667c1bceb9f281f40fee1e4435f4b6b8b817f8751c379b57fe34e3cfd2f9b7ba0c64276f5acf2cba89f32c42
DIST genpatches-5.4-28.base.tar.xz 1116800 BLAKE2B 9046755867bb255b7faefbee6b4b1d8ad4c105927dc4d215f9712c8e6972010d048d4d11732f50a38d6e1d12877c29520ddcc1572c50aa11bd5224dd75076398 SHA512 1be72cb5436ae5671f56f3cfe5fe1a426ccd2d4adcd5a77932bce7656f7987efbee2d3f601c7dc9aeda45b52ee96c097a2940cd5014aabecb4efd37b77e7d061
DIST genpatches-5.4-28.experimental.tar.xz 6144 BLAKE2B e3d2c5ff450f02f9beaa88e3386acd39da9cbea0431097ad9a089f795d62d0c7409de3ea2c25e2173bb8e6860215f76800fab2d5cfe0c8c8012c7453bd1f950e SHA512 f7f521dad25375ac5a630ff506439db1598039e51e4e704069ed1c942037099a77048dece44bdd7d46e591a1168347a78c70504204ac9a19965b33e0b83a8ceb
DIST genpatches-5.4-28.extras.tar.xz 1744 BLAKE2B 6516e021b69ebb3bf6632e255752ea34fc9b76dc1b6061c412c4ea1abd652771463902cc8e9f163ed1153965c403fe22e733a6e9a35de1e8b0b033e48a769be5 SHA512 4766a65d4a37ff44ecce6140710b3e8aab4a997966ff8af3551573fb37b369cba7c626338090a09451ca118425158729c3b1bb9c4478245c067b28fbc4f45754
DIST genpatches-5.5-21.base.tar.xz 767444 BLAKE2B 812732ed230a0605a40bd0a0d80bb64cf3582e0bcb94cb26e53aee7a69c0e66b200db8787abec14466287d9f9bfaa6f71d15d0cae56c5c820070833aa1996d81 SHA512 ed48a01f132d1dabc2bf2fe6b29156d1303cafdc53bcd843924f4ce14f6e0e35fc4d930b055b37a24365a6a31b36034d79f25112e1bd8526a6e0922e66dfc561
DIST genpatches-5.5-21.experimental.tar.xz 5596 BLAKE2B 41a76e50012335e382643a9c0f1252f7aad1d13ab4b2b2b6c8e5dbed57fd298577e6fb6cb27b79fc56e408c0fd005a3df582a612a22fed0d10135cee71f32bc9 SHA512 62263423eb6a495535cbd4ba54a49ba87936ddea22fe5b20b27e729190978d301871770917576ef640324417786d129fc856043b4775e6e0d84c794ca72432b0
DIST genpatches-5.5-21.extras.tar.xz 1756 BLAKE2B f277d12cbb65f109e49d96a47ba0a8429b2a791872b16548656db9f4275259fc774169a75f310edb7392b0c548b1ea7559eaa841376cb6a7c507cce31385cc37 SHA512 ce1c4b6ac121ecb6bbe1c738abd9ce967e4875654eb5aeb373f59e116c4b29fc2fb3f8383db6d093005ba85be1a36d1023780a35f27bf2e1c3bfaad15abdc084
DIST genpatches-5.6-20.base.tar.xz 474872 BLAKE2B ee8eb1db2f33a8f3b6dbc700f92b7ba124072b5c39ed7a7ceea114daf6d571eb7ced5d36e09fc90b5d3d9a9c36b87a6c4372f92b8f422f5d45aaa56eb7b20641 SHA512 05e69032d1152692dd93d47212e80d2ad8167777aa3d3290b0019db41f77e9ab486adb8312472c753ada6c94d715553cc9d205920580297c9c49e173ef4dd0e5
DIST genpatches-5.6-20.experimental.tar.xz 13704 BLAKE2B 40dd9f344fbbfde4a7cd1efa7dab9c5b5155d3e0431b0c6bcfec26c484dd8111f4a1e525340e5a26d67d3675ae77ca9be6e326e42f1332d91c18c2ec3d2b8ba1 SHA512 874de82056c0be899f028ba3318af6e18708b2b89cb0536ab0e46163aa813bffe05395c29c6993cd7612fde73faa2061fd8d9040479de9c00c0b966bdf6439c7
DIST genpatches-5.6-20.extras.tar.xz 1764 BLAKE2B ffa3cdebb5e9a0f22d23f106d0a3f4395d878277d3c62e2df1e2d333542b9c8ab3cb076a50092d1d19b6288bd39571275037246380b3944c003cc2c309b09732 SHA512 704b9c25aea54d746c83eb96797068af3c7fd1e39966f4e21a3f6242a3b0ad5bf749865088d1df9b93f4fb765e49f96dcca5929c5c194abdb25d7fd3e36d531c
DIST genpatches-5.7-6.base.tar.xz 182364 BLAKE2B facff9299c5913596be8bba1dcab4b06e2ae697d66df645ac7c0e8aecfbea7788b4c4574cee69d4db3cf9c8f97c18be4af17f42ef4ec1fc7380b4936ab63cfa9 SHA512 68d3e2e70ac6838ad98b179e9b0694ce96ec0fefec98b497ed0fc689958d413f502915101ee9f38fff1fb5fb6b57d9e79d12870e280bcd84836cf30cd682a654
DIST genpatches-5.7-6.experimental.tar.xz 13692 BLAKE2B e49fca2f4419aa0923f33ba38daab49faf105ef03849bfc59dc9efecc980aaf3ccb0e34a7755149b1e4841b884494b146659df49f44f5e2913973d4ada9d5e63 SHA512 f83f8485d4e3f2c0bc5faf6c59db6745e287db7f3eeb4d1db7a8c92b7492d9d1678069c67e89fec2ac63f831a8419855caf70f9e71efb7ebfa7c0e1461e37ab3
DIST genpatches-5.7-6.extras.tar.xz 1764 BLAKE2B db13c787489b7b21d9848cbd0079683bc5a93a9ff4df09901bb00cf275183f0a367999fd9416ec97d36cbad6351b119bf6fb347f2fb645d4e515f3e6548e9f96 SHA512 acc190f9c6efe34f5b29a86d787ec047bf8df1d8b7c726fb79279f77b2cdb7a0bc777f353c9ecadec7414797f15562c36734a69e6bb2d4a5f05acddb659c4d12
DIST linux-5.1.tar.xz 106244476 BLAKE2B ae3c63ced819737e34f8ec3a78138f87704a2f2956454411e3a4830ec8c0aaf2c288af6ca080f1892540e50f4a422482360010be8641afdeeeaf7231e7d8da97 SHA512 ae96f347badc95f1f3acf506c52b6cc23c0bd09ce8f4ce6705d4b4058b62593059bba1bc603c8d8b00a2f19131e7e56c31ac62b45883a346fa61d655e178f236
DIST linux-5.2.tar.xz 107029708 BLAKE2B f0cf6e3a15a4bd019edbfa33cb4556d0672e807f7d139eff3ab053d0ad7649198b229475955a1f51eb90d0e9f8268cafb782f6312793fdf38472f3c6d7c2d7ee SHA512 5a28f8a34c4e0470617f5638b7112e6252109b78f23b1eed484a228530970c7ef5c130d6e5a09cf25ea2f6a0329602dcc1ec66ce893182e15b27d99bd228789c
DIST linux-5.3.tar.xz 108558876 BLAKE2B 0d08eed879d05734e4542f0c93823d43f8dc042a54ba5268064c4bbebd7a9d59c03abf3ad5dee8280e784ae148a3b0c56181eaf2d5b3c079b6fe9f5191544df6 SHA512 6b5edef47c319a3fa7f6c20a3e0903a5acd89ec75e32dc5f99adcb60c9fe118ea312722d9c3d27e2e3900afa2455afb86e83a8b6bb131009bc79ddbe6fb0595d
DIST genpatches-5.4-51.base.tar.xz 1747452 BLAKE2B f93a14ea424bc1256e7b8ff34b8aae19f81d4e084ef0e8058f6dc25d776e78705e5e983b45bd24288c1c30b2456a61e349a20ea3bd8275d4e5eeb0fee0a7553b SHA512 4d1ee62f2a8931e97d7be5abfcccfe08ca9687e27abb553148f03d7d8672a35c7c3b1541555e4976e7405ba4782f170acff60b0588a0dda356a2771fe2bc17e4
DIST genpatches-5.4-51.experimental.tar.xz 6700 BLAKE2B 1233655d1e963de741102e34b5ed6cab6678bfc2f62113887fd5ad083d563526c28253e2a434146852111fef9f7584107943e14258c4bc9177ab6e824937c33c SHA512 755e7df09207690e1838bc6fd16e7e797023b452557d2bc72d569198a961f70831add03a8043c2da63ca4b363ad5be3f29cd28ac68c8496ee7c2b7c98cf0f941
DIST genpatches-5.4-51.extras.tar.xz 1768 BLAKE2B b464b9c9ac573b159211c51f9b131ee02f3a009dac6faa1a7f6d123a8070370074cdafe36e9b9e3dd7fbe66ebed290c0372088689425b49c687e79619641fd44 SHA512 5d77b35bfb5af8d0449c543b687a62139c4efdbaba1c75701a44a88c7446ae9a766babb3687d5a26cf8fde1e8b5b7c6f861631b1db9a81afc7dee8240345c7b0
DIST genpatches-5.7-9.base.tar.xz 422996 BLAKE2B b642f97c554acfed1c360ed0a39e8dc926717bcae6d8544e6a8cffbcca892dd489709ef8490b409128a33612b74df7d57c35a10a8f4f6ed4a711bc26cac31293 SHA512 470d95d5964426fdc976f45ab66d03395f9597a5090b2f452607acce6baff5827dbfc385e033125429db4d8d4e32a7e356c3ccfac149c538c604cf331286c2f0
DIST genpatches-5.7-9.experimental.tar.xz 14140 BLAKE2B e1ac516ae635fc5ad797bf785dcbb188be8c6b13ab3228ca10a328e73fe0f45dfbd3ee596d8aea4298788e480133bab453e72a1bb78e40043a254edf6bdf99d3 SHA512 eec7e825f368e956aac97e9031cb5c8eb3f607a44dabc1ff2ed4d5c65e65e8a59920fed78e1c019af9368a45200dd1d16f71c8e8f223ed9171ff1e084f07b0e0
DIST genpatches-5.7-9.extras.tar.xz 1764 BLAKE2B eb8d437e2761aa350548643ef39beaf73cd7935a0c2028b44edaf9d93c833b7050d11b66e540731708911df971f4bf4b947a89eeddcd9b49278fe1afceb16753 SHA512 4dc6cf6c181756aac4ea0bdffd571e64d787a592d5878d4c90f1f76e34beb3726e94d070b2138b68124ebd01de43b09595072c5f737eb6181d283edbc85d30e9
DIST linux-5.4.tar.xz 109441440 BLAKE2B 193bc4a3147e147d5529956164ec4912fad5d5c6fb07f909ff1056e57235834173194afc686993ccd785c1ff15804de0961b625f3008cca0e27493efc8f27b13 SHA512 9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f
DIST linux-5.5.tar.xz 110713660 BLAKE2B 36b990d3650c409652206c319c93c0cf68885334050bc286b479c8b844bc47354547e19eebb58caafb026b96d134f39f0c7ce38b4eebe9da7ea6d1610a1e2af2 SHA512 fa74fdabb5e63384a39e54da05b86a9ae9ea16179524b041fbbdffc7177e80b53600ae98d76be127ba216148f9dc55fe07ab20637e22c6d6030cb4aa09eb2f86
DIST linux-5.6.tar.xz 111785252 BLAKE2B 8dbe02a8ca7fd3dcf512a15c5d8098c1e7f94257e65173fed43fcc45480e4ab790df8cd39bbbb4e2a21dc9a00385bc9bbe98215a31e7f7e1d9c8f21cd8ace69e SHA512 80846fe2b4e4a7ff471d2dde28a8216ae807a3209f959e93d39ea4fc9a189ea28ec3db9d303b3fe15a28c2cb90e7446876678e93e23353c2d6f262e364a06bc9
DIST linux-5.7.tar.xz 112690468 BLAKE2B b2b71e231507429b178b6b89be546c4a3ee2757f5d2c58b6137d383f16034a587225a75a9dbca6a01a433056ebe078487132c224e909a2971c9634687e47b1d1 SHA512 45bde01593f6147c8c169b9e46b4b56eee998142552ae0ff82f1dd21b1fd54f3b32f6283f6bd77ea717d374672167849e468c157f235d2f12f7d7816e4623bf6
DIST penpatches-4.13.8-1.tar.xz 16424 BLAKE2B 005e83f5e667bd851c21a52929fd6ffa9458692eda285fd82fd145f91de7a49f1a7ed750b08979be230349435d07e23939b804b509849bb545de3a7631e11ee7 SHA512 b6d83edc0e97202dd4332eedf734a2024057fa9acd111394cc95a85d648bcc9d4f4d9ae9d84f3a63265146d9ba45f2470c0962c06c911be86da4dc7034b03dda
DIST penpatches-5.2.1-1.tar.xz 16748 BLAKE2B 69f72d23eefd1e54ed27d0fdbabd558e3d7811941f04fd0970465ddcf612cdb3286e3c515399e325cd78fe883effe1ba27ae305753c69fc0469d477054b2b705 SHA512 27027697dcc2d9af18bfe0fc0280edaae124a0827103b7199d04a578c0682252222cad3489b995613959a58afef953dfb95871b97f4634b77bd73abb1b9d01f6
DIST penpatches-5.3.8-1.tar.xz 19384 BLAKE2B 77317f4eeb6813bd0c5e517c4af4e3c2d9705019feb3ee64a8f3f4f4de148b0313db91273da5495020b6dbf2d9ca9031447568060a66c033b207be36dc067a1b SHA512 d1b0888f3c73afed2e188277846144368a4a49069d4fc9143c5322af4020c6942b56f92e0ccef9f6835551c21a460d4090d96ce5154684e1f441fea332f99455
DIST penpatches-experimental-5.3.8-2.tar.xz 11440 BLAKE2B 355130e766c6c44fd7136d8495602f3a36e2b7617334dcf6af3308263b8a13524210772a9d55236a60e034ff25a3bb4355a3b6f24bfe31d97d33316cffebfc08 SHA512 e4c555f49b74d2f083c4ca8d6fd7c88315b88ef4cbba93ec9c1c25ff0f0c35885abb7e38d1eaefbd2d1994e1f27f8d15db374290697e88ef05255e9eb43022d6
DIST v2-kconfig-add-hardened-defconfig-helpers.patch 42021 BLAKE2B 4d0c1707a9d7e1c04411645c0cd6e8ebbb7fd88a477af5de67752bdd508c91e9bdfbff0831d1ace291e6e6b539617febbb56d11960a5d7c5411ed69fb92bfac2 SHA512 199cbfc7b6f96442c14f2c480bc7d2d3714edd0888e5d2aadbb3665a7da24b87822647cf93cc3b0900b225cbfd2e0b2b92db936107c49831b00b8df859ba109e

View file

@ -0,0 +1,17 @@
tx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index b47435d..751934b 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -539,7 +539,8 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx)
if (tx->sta)
tx->sta->last_tx_rate = txrc.reported_rate;
- if (unlikely(!info->control.rates[0].count))
+ if (unlikely(!info->control.rates[0].count) ||
+ info->flags & IEEE80211_TX_CTL_NO_ACK)
info->control.rates[0].count = 1;
if (is_multicast_ether_addr(hdr->addr1)) {

View file

@ -0,0 +1,56 @@
diff -Naur linux-4.4.2-hardened/drivers/net/wireless/zd1211rw/zd_mac.c linux-4.4.2-hardened-zd/drivers/net/wireless/zd1211rw/zd_mac.c
--- linux-4.4.2-hardened/drivers/net/wireless/zydas/zd1211rw/zd_mac.c 2016-01-10 18:01:32.000000000 -0500
+++ linux-4.4.2-hardened-zd/drivers/net/wireless/zydas/zd1211rw/zd_mac.c 2016-04-10 22:37:20.658595183 -0400
@@ -242,14 +242,19 @@
static int set_rx_filter(struct zd_mac *mac)
{
unsigned long flags;
- u32 filter = STA_RX_FILTER;
+ struct zd_ioreq32 ioreqs[] = {
+ {CR_RX_FILTER, STA_RX_FILTER},
+ { CR_SNIFFER_ON, 0U },
+ };
spin_lock_irqsave(&mac->lock, flags);
- if (mac->pass_ctrl)
- filter |= RX_FILTER_CTRL;
+ if (mac->pass_ctrl) {
+ ioreqs[0].value |= 0xFFFFFFFF;
+ ioreqs[1].value = 0x1;
+ }
spin_unlock_irqrestore(&mac->lock, flags);
- return zd_iowrite32(&mac->chip, CR_RX_FILTER, filter);
+ return zd_iowrite32a(&mac->chip, ioreqs, ARRAY_SIZE(ioreqs));
}
static int set_mac_and_bssid(struct zd_mac *mac)
@@ -1057,7 +1062,8 @@
/* Caller has to ensure that length >= sizeof(struct rx_status). */
status = (struct rx_status *)
(buffer + (length - sizeof(struct rx_status)));
- if (status->frame_status & ZD_RX_ERROR) {
+ if ((status->frame_status & ZD_RX_ERROR) ||
+ (status->frame_status & ~0x21)) {
if (mac->pass_failed_fcs &&
(status->frame_status & ZD_RX_CRC32_ERROR)) {
stats.flag |= RX_FLAG_FAILED_FCS_CRC;
@@ -1070,7 +1076,8 @@
stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq;
stats.band = IEEE80211_BAND_2GHZ;
stats.signal = zd_check_signal(hw, status->signal_strength);
-
+ stats.signal = stats.signal - 90;
+
rate = zd_rx_rate(buffer, status);
/* todo: return index in the big switches in zd_rx_rate instead */
@@ -1400,7 +1407,7 @@
ieee80211_hw_set(hw, MFP_CAPABLE);
ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING);
ieee80211_hw_set(hw, RX_INCLUDES_FCS);
- ieee80211_hw_set(hw, SIGNAL_UNSPEC);
+ ieee80211_hw_set(hw, SIGNAL_DBM);
hw->wiphy->interface_modes =
BIT(NL80211_IFTYPE_MESH_POINT) |

View file

@ -0,0 +1,120 @@
diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c
--- linux-2.6.36-gentoo.orig/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2010-10-21 04:30:22.000000000 +0800
+++ linux-2.6.36-gentoo/drivers/net/wireless/intel/ipw2x00/ipw2200.c 2010-12-08 22:22:41.937999976 +0800
@@ -216,6 +216,7 @@
static int ipw_queue_tx_hcmd(struct ipw_priv *priv, int hcmd, void *buf,
int len, int sync);
+static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, int pri);
static void ipw_tx_queue_free(struct ipw_priv *);
static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *);
@@ -1911,6 +1912,63 @@
static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO,
show_net_stats, store_net_stats);
+/* SYSFS INJECT */
+static ssize_t store_inject(struct device *d,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct ipw_priv *priv = dev_get_drvdata(d);
+ struct libipw_device *ieee = priv->ieee;
+ struct libipw_txb *txb;
+ struct sk_buff *skb_frag;
+ unsigned char *newbuf;
+ unsigned long flags;
+
+ // should test (ieee->is_queue_full)
+
+ // Fw only accepts data, so avoid accidental fw errors.
+ if ( (buf[0]&0x0c) != '\x08') {
+ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]);
+ return count;
+ }
+
+ if (count>1500) {
+ count=1500;
+ printk("ipw2200: inject: cutting down frame to 1500 bytes\n");
+ }
+
+ spin_lock_irqsave(&priv->lock, flags);
+
+ // Create a txb with one skb
+ txb = kmalloc(sizeof(struct libipw_txb) + sizeof(u8 *), GFP_ATOMIC);
+ if (!txb)
+ goto nosepuede;
+ txb->nr_frags=1;
+ txb->frag_size = ieee->tx_headroom;
+ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC);
+ if (!txb->fragments[0]) {
+ kfree(txb);
+ goto nosepuede;
+ }
+ skb_reserve(txb->fragments[0], ieee->tx_headroom);
+ txb->encrypted=0;
+ txb->payload_size=count;
+ skb_frag = txb->fragments[0];
+ newbuf=skb_put(skb_frag, count);
+
+ // copy data into txb->skb and send it
+ memcpy(newbuf, buf, count);
+
+ ipw_tx_skb(priv, txb, 0);
+
+nosepuede:
+ spin_unlock_irqrestore(&priv->lock, flags);
+ return count;
+}
+
+
+static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject);
+
static ssize_t show_channels(struct device *d,
struct device_attribute *attr,
char *buf)
@@ -10214,7 +10272,6 @@
modify to send one tfd per fragment instead of using chunking. otherwise
we need to heavily modify the libipw_skb_to_txb.
*/
-
static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb,
int pri)
{
@@ -10544,6 +10601,12 @@
mutex_lock(&priv->mutex);
priv->config |= CFG_CUSTOM_MAC;
memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN);
+
+#ifdef CONFIG_IPW2200_PROMISCUOUS
+ if (rtap_iface)
+ memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN);
+#endif
+
printk(KERN_INFO "%s: Setting MAC to %pM\n",
priv->net_dev->name, priv->mac_addr);
schedule_work(&priv->adapter_restart);
@@ -11597,6 +11660,7 @@
#ifdef CONFIG_IPW2200_PROMISCUOUS
&dev_attr_rtap_iface.attr,
&dev_attr_rtap_filter.attr,
+ &dev_attr_inject.attr,
#endif
NULL
};
diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h
--- linux-2.6.36-gentoo.orig/drivers/net/wireless/intel/ipw2x00/ipw2200.h 2010-10-21 04:30:22.000000000 +0800
+++ linux-2.6.36-gentoo/drivers/net/wireless/intel/ipw2x00/ipw2200.h 2010-12-08 22:20:01.561000000 +0800
@@ -2014,4 +2014,12 @@
#define IPW_MAX_CONFIG_RETRIES 10
+/*
+ * Hhack to get code compiling on new kernels, the define below
+ * seem to be removed from the linux headers.
+ */
+#ifndef MAC_ARG
+#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5]
+#endif
+
#endif /* __ipw2200_h__ */

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,586 @@
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index d313c9befa23..259378d6ed0d 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -2219,6 +2219,8 @@ int cfg80211_wext_siwscan(struct net_device *dev,
eth_broadcast_addr(creq->bssid);
+ mutex_lock(&rdev->mtx);
+
rdev->scan_req = creq;
err = rdev_scan(rdev, creq);
if (err) {
@@ -2230,6 +2232,7 @@ int cfg80211_wext_siwscan(struct net_device *dev,
creq = NULL;
dev_hold(dev);
}
+ mutex_unlock(&rdev->mtx);
out:
kfree(creq);
return err;
diff --git a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c
index 7b6529d81c61..cb08139397dd 100644
--- a/net/wireless/wext-compat.c
+++ b/net/wireless/wext-compat.c
@@ -257,17 +257,23 @@ int cfg80211_wext_siwrts(struct net_device *dev,
u32 orts = wdev->wiphy->rts_threshold;
int err;
- if (rts->disabled || !rts->fixed)
+ mutex_lock(&rdev->mtx);
+ if (rts->disabled || !rts->fixed) {
wdev->wiphy->rts_threshold = (u32) -1;
- else if (rts->value < 0)
- return -EINVAL;
- else
+ } else if (rts->value < 0) {
+ err = -EINVAL;
+ goto out;
+ } else {
wdev->wiphy->rts_threshold = rts->value;
+ }
err = rdev_set_wiphy_params(rdev, WIPHY_PARAM_RTS_THRESHOLD);
+
if (err)
wdev->wiphy->rts_threshold = orts;
+out:
+ mutex_unlock(&rdev->mtx);
return err;
}
EXPORT_WEXT_HANDLER(cfg80211_wext_siwrts);
@@ -295,11 +301,13 @@ int cfg80211_wext_siwfrag(struct net_device *dev,
u32 ofrag = wdev->wiphy->frag_threshold;
int err;
- if (frag->disabled || !frag->fixed)
+ mutex_lock(&rdev->mtx);
+ if (frag->disabled || !frag->fixed) {
wdev->wiphy->frag_threshold = (u32) -1;
- else if (frag->value < 256)
- return -EINVAL;
- else {
+ } else if (frag->value < 256) {
+ err = -EINVAL;
+ goto out;
+ } else {
/* Fragment length must be even, so strip LSB. */
wdev->wiphy->frag_threshold = frag->value & ~0x1;
}
@@ -307,6 +315,8 @@ int cfg80211_wext_siwfrag(struct net_device *dev,
err = rdev_set_wiphy_params(rdev, WIPHY_PARAM_FRAG_THRESHOLD);
if (err)
wdev->wiphy->frag_threshold = ofrag;
+out:
+ mutex_unlock(&rdev->mtx);
return err;
}
@@ -341,6 +351,7 @@ static int cfg80211_wext_siwretry(struct net_device *dev,
(retry->flags & IW_RETRY_TYPE) != IW_RETRY_LIMIT)
return -EINVAL;
+ mutex_lock(&rdev->mtx);
if (retry->flags & IW_RETRY_LONG) {
wdev->wiphy->retry_long = retry->value;
changed |= WIPHY_PARAM_RETRY_LONG;
@@ -359,6 +370,7 @@ static int cfg80211_wext_siwretry(struct net_device *dev,
wdev->wiphy->retry_short = oshort;
wdev->wiphy->retry_long = olong;
}
+ mutex_unlock(&rdev->mtx);
return err;
}
@@ -581,15 +593,18 @@ static int cfg80211_wext_siwencode(struct net_device *dev,
!rdev->ops->set_default_key)
return -EOPNOTSUPP;
+ mutex_lock(&rdev->mtx);
idx = erq->flags & IW_ENCODE_INDEX;
if (idx == 0) {
idx = wdev->wext.default_key;
if (idx < 0)
idx = 0;
- } else if (idx < 1 || idx > 4)
- return -EINVAL;
- else
+ } else if (idx < 1 || idx > 4) {
+ err = -EINVAL;
+ goto out;
+ } else {
idx--;
+ }
if (erq->flags & IW_ENCODE_DISABLED)
remove = true;
@@ -603,22 +618,28 @@ static int cfg80211_wext_siwencode(struct net_device *dev,
if (!err)
wdev->wext.default_key = idx;
wdev_unlock(wdev);
- return err;
+ goto out;
}
memset(&params, 0, sizeof(params));
params.key = keybuf;
params.key_len = erq->length;
- if (erq->length == 5)
+ if (erq->length == 5) {
params.cipher = WLAN_CIPHER_SUITE_WEP40;
- else if (erq->length == 13)
+ } else if (erq->length == 13) {
params.cipher = WLAN_CIPHER_SUITE_WEP104;
- else if (!remove)
- return -EINVAL;
+ } else if (!remove) {
+ err = -EINVAL;
+ goto out;
+ }
+
+ err = cfg80211_set_encryption(rdev, dev, false, NULL, remove,
+ wdev->wext.default_key == -1,
+ idx, &params);
+out:
+ mutex_unlock(&rdev->mtx);
- return cfg80211_set_encryption(rdev, dev, false, NULL, remove,
- wdev->wext.default_key == -1,
- idx, &params);
+ return err;
}
static int cfg80211_wext_siwencodeext(struct net_device *dev,
@@ -758,38 +779,61 @@ static int cfg80211_wext_siwfreq(struct net_device *dev,
struct cfg80211_chan_def chandef = {
.width = NL80211_CHAN_WIDTH_20_NOHT,
};
- int freq;
+ int freq, ret;
+
+ mutex_lock(&rdev->mtx);
switch (wdev->iftype) {
case NL80211_IFTYPE_STATION:
- return cfg80211_mgd_wext_siwfreq(dev, info, wextfreq, extra);
+ ret = cfg80211_mgd_wext_siwfreq(dev, info, wextfreq, extra);
+ break;
case NL80211_IFTYPE_ADHOC:
- return cfg80211_ibss_wext_siwfreq(dev, info, wextfreq, extra);
+ ret = cfg80211_ibss_wext_siwfreq(dev, info, wextfreq, extra);
+ break;
case NL80211_IFTYPE_MONITOR:
freq = cfg80211_wext_freq(wextfreq);
- if (freq < 0)
- return freq;
- if (freq == 0)
- return -EINVAL;
+ if (freq < 0) {
+ ret = freq;
+ break;
+ }
+ if (freq == 0) {
+ ret = -EINVAL;
+ break;
+ }
chandef.center_freq1 = freq;
chandef.chan = ieee80211_get_channel(&rdev->wiphy, freq);
- if (!chandef.chan)
- return -EINVAL;
- return cfg80211_set_monitor_channel(rdev, &chandef);
+ if (!chandef.chan) {
+ ret = -EINVAL;
+ break;
+ }
+ ret = cfg80211_set_monitor_channel(rdev, &chandef);
+ break;
case NL80211_IFTYPE_MESH_POINT:
freq = cfg80211_wext_freq(wextfreq);
- if (freq < 0)
- return freq;
- if (freq == 0)
- return -EINVAL;
+ if (freq < 0) {
+ ret = freq;
+ break;
+ }
+ if (freq == 0) {
+ ret = -EINVAL;
+ break;
+ }
chandef.center_freq1 = freq;
chandef.chan = ieee80211_get_channel(&rdev->wiphy, freq);
- if (!chandef.chan)
- return -EINVAL;
- return cfg80211_set_mesh_channel(rdev, wdev, &chandef);
+ if (!chandef.chan) {
+ ret = -EINVAL;
+ break;
+ }
+ ret = cfg80211_set_mesh_channel(rdev, wdev, &chandef);
+ break;
default:
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ break;
}
+
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_giwfreq(struct net_device *dev,
@@ -801,24 +845,35 @@ static int cfg80211_wext_giwfreq(struct net_device *dev,
struct cfg80211_chan_def chandef;
int ret;
+ mutex_lock(&rdev->mtx);
switch (wdev->iftype) {
case NL80211_IFTYPE_STATION:
- return cfg80211_mgd_wext_giwfreq(dev, info, freq, extra);
+ ret = cfg80211_mgd_wext_giwfreq(dev, info, freq, extra);
+ break;
case NL80211_IFTYPE_ADHOC:
- return cfg80211_ibss_wext_giwfreq(dev, info, freq, extra);
+ ret = cfg80211_ibss_wext_giwfreq(dev, info, freq, extra);
+ break;
case NL80211_IFTYPE_MONITOR:
- if (!rdev->ops->get_channel)
- return -EINVAL;
+ if (!rdev->ops->get_channel) {
+ ret = -EINVAL;
+ break;
+ }
ret = rdev_get_channel(rdev, wdev, &chandef);
if (ret)
- return ret;
+ break;
freq->m = chandef.chan->center_freq;
freq->e = 6;
- return 0;
+ ret = 0;
+ break;
default:
- return -EINVAL;
+ ret = -EINVAL;
+ break;
}
+
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_siwtxpower(struct net_device *dev,
@@ -829,6 +884,7 @@ static int cfg80211_wext_siwtxpower(struct net_device *dev,
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
enum nl80211_tx_power_setting type;
int dbm = 0;
+ int ret;
if ((data->txpower.flags & IW_TXPOW_TYPE) != IW_TXPOW_DBM)
return -EINVAL;
@@ -870,7 +926,11 @@ static int cfg80211_wext_siwtxpower(struct net_device *dev,
return 0;
}
- return rdev_set_tx_power(rdev, wdev, type, DBM_TO_MBM(dbm));
+ mutex_lock(&rdev->mtx);
+ ret = rdev_set_tx_power(rdev, wdev, type, DBM_TO_MBM(dbm));
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_giwtxpower(struct net_device *dev,
@@ -889,7 +949,9 @@ static int cfg80211_wext_giwtxpower(struct net_device *dev,
if (!rdev->ops->get_tx_power)
return -EOPNOTSUPP;
+ mutex_lock(&rdev->mtx);
err = rdev_get_tx_power(rdev, wdev, &val);
+ mutex_unlock(&rdev->mtx);
if (err)
return err;
@@ -1129,7 +1191,9 @@ static int cfg80211_wext_siwpower(struct net_device *dev,
timeout = wrq->value / 1000;
}
+ mutex_lock(&rdev->mtx);
err = rdev_set_power_mgmt(rdev, dev, ps, timeout);
+ mutex_unlock(&rdev->mtx);
if (err)
return err;
@@ -1171,7 +1235,9 @@ static int cfg80211_wds_wext_siwap(struct net_device *dev,
if (!rdev->ops->set_wds_peer)
return -EOPNOTSUPP;
+ mutex_lock(&rdev->mtx);
err = rdev_set_wds_peer(rdev, dev, (u8 *)&addr->sa_data);
+ mutex_unlock(&rdev->mtx);
if (err)
return err;
@@ -1204,7 +1270,7 @@ static int cfg80211_wext_siwrate(struct net_device *dev,
struct cfg80211_bitrate_mask mask;
u32 fixed, maxrate;
struct ieee80211_supported_band *sband;
- int band, ridx;
+ int band, ridx, ret;
bool match = false;
if (!rdev->ops->set_bitrate_mask)
@@ -1243,7 +1309,11 @@ static int cfg80211_wext_siwrate(struct net_device *dev,
if (!match)
return -EINVAL;
- return rdev_set_bitrate_mask(rdev, dev, NULL, &mask);
+ mutex_lock(&rdev->mtx);
+ ret = rdev_set_bitrate_mask(rdev, dev, NULL, &mask);
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_giwrate(struct net_device *dev,
@@ -1272,7 +1342,9 @@ static int cfg80211_wext_giwrate(struct net_device *dev,
if (err)
return err;
+ mutex_lock(&rdev->mtx);
err = rdev_get_station(rdev, dev, addr, &sinfo);
+ mutex_unlock(&rdev->mtx);
if (err)
return err;
@@ -1297,6 +1369,7 @@ static struct iw_statistics *cfg80211_wireless_stats(struct net_device *dev)
static struct iw_statistics wstats;
static struct station_info sinfo = {};
u8 bssid[ETH_ALEN];
+ int ret;
if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION)
return NULL;
@@ -1315,7 +1388,11 @@ static struct iw_statistics *cfg80211_wireless_stats(struct net_device *dev)
memset(&sinfo, 0, sizeof(sinfo));
- if (rdev_get_station(rdev, dev, bssid, &sinfo))
+ mutex_lock(&rdev->mtx);
+ ret = rdev_get_station(rdev, dev, bssid, &sinfo);
+ mutex_unlock(&rdev->mtx);
+
+ if (ret)
return NULL;
memset(&wstats, 0, sizeof(wstats));
@@ -1366,17 +1443,27 @@ static int cfg80211_wext_siwap(struct net_device *dev,
struct sockaddr *ap_addr, char *extra)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
+ struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
+ int ret;
+ mutex_lock(&rdev->mtx);
switch (wdev->iftype) {
case NL80211_IFTYPE_ADHOC:
- return cfg80211_ibss_wext_siwap(dev, info, ap_addr, extra);
+ ret = cfg80211_ibss_wext_siwap(dev, info, ap_addr, extra);
+ break;
case NL80211_IFTYPE_STATION:
- return cfg80211_mgd_wext_siwap(dev, info, ap_addr, extra);
+ ret = cfg80211_mgd_wext_siwap(dev, info, ap_addr, extra);
+ break;
case NL80211_IFTYPE_WDS:
- return cfg80211_wds_wext_siwap(dev, info, ap_addr, extra);
+ ret = cfg80211_wds_wext_siwap(dev, info, ap_addr, extra);
+ break;
default:
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ break;
}
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_giwap(struct net_device *dev,
@@ -1384,17 +1471,27 @@ static int cfg80211_wext_giwap(struct net_device *dev,
struct sockaddr *ap_addr, char *extra)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
+ struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
+ int ret;
+ mutex_lock(&rdev->mtx);
switch (wdev->iftype) {
case NL80211_IFTYPE_ADHOC:
- return cfg80211_ibss_wext_giwap(dev, info, ap_addr, extra);
+ ret = cfg80211_ibss_wext_giwap(dev, info, ap_addr, extra);
+ break;
case NL80211_IFTYPE_STATION:
- return cfg80211_mgd_wext_giwap(dev, info, ap_addr, extra);
+ ret = cfg80211_mgd_wext_giwap(dev, info, ap_addr, extra);
+ break;
case NL80211_IFTYPE_WDS:
- return cfg80211_wds_wext_giwap(dev, info, ap_addr, extra);
+ ret = cfg80211_wds_wext_giwap(dev, info, ap_addr, extra);
+ break;
default:
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ break;
}
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_siwessid(struct net_device *dev,
@@ -1402,15 +1499,24 @@ static int cfg80211_wext_siwessid(struct net_device *dev,
struct iw_point *data, char *ssid)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
+ struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
+ int ret;
+ mutex_lock(&rdev->mtx);
switch (wdev->iftype) {
case NL80211_IFTYPE_ADHOC:
- return cfg80211_ibss_wext_siwessid(dev, info, data, ssid);
+ ret = cfg80211_ibss_wext_siwessid(dev, info, data, ssid);
+ break;
case NL80211_IFTYPE_STATION:
- return cfg80211_mgd_wext_siwessid(dev, info, data, ssid);
+ ret = cfg80211_mgd_wext_siwessid(dev, info, data, ssid);
+ break;
default:
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ break;
}
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_giwessid(struct net_device *dev,
@@ -1418,18 +1524,27 @@ static int cfg80211_wext_giwessid(struct net_device *dev,
struct iw_point *data, char *ssid)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
+ struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
+ int ret;
data->flags = 0;
data->length = 0;
+ mutex_lock(&rdev->mtx);
switch (wdev->iftype) {
case NL80211_IFTYPE_ADHOC:
- return cfg80211_ibss_wext_giwessid(dev, info, data, ssid);
+ ret = cfg80211_ibss_wext_giwessid(dev, info, data, ssid);
+ break;
case NL80211_IFTYPE_STATION:
- return cfg80211_mgd_wext_giwessid(dev, info, data, ssid);
+ ret = cfg80211_mgd_wext_giwessid(dev, info, data, ssid);
+ break;
default:
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ break;
}
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static int cfg80211_wext_siwpmksa(struct net_device *dev,
@@ -1440,6 +1555,7 @@ static int cfg80211_wext_siwpmksa(struct net_device *dev,
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
struct cfg80211_pmksa cfg_pmksa;
struct iw_pmksa *pmksa = (struct iw_pmksa *)extra;
+ int ret;
memset(&cfg_pmksa, 0, sizeof(struct cfg80211_pmksa));
@@ -1449,28 +1565,39 @@ static int cfg80211_wext_siwpmksa(struct net_device *dev,
cfg_pmksa.bssid = pmksa->bssid.sa_data;
cfg_pmksa.pmkid = pmksa->pmkid;
+ mutex_unlock(&rdev->mtx);
switch (pmksa->cmd) {
case IW_PMKSA_ADD:
- if (!rdev->ops->set_pmksa)
- return -EOPNOTSUPP;
-
- return rdev_set_pmksa(rdev, dev, &cfg_pmksa);
+ if (!rdev->ops->set_pmksa) {
+ ret = -EOPNOTSUPP;
+ break;
+ }
+ ret = rdev_set_pmksa(rdev, dev, &cfg_pmksa);
+ break;
case IW_PMKSA_REMOVE:
- if (!rdev->ops->del_pmksa)
- return -EOPNOTSUPP;
-
- return rdev_del_pmksa(rdev, dev, &cfg_pmksa);
+ if (!rdev->ops->del_pmksa) {
+ ret = -EOPNOTSUPP;
+ break;
+ }
+ ret = rdev_del_pmksa(rdev, dev, &cfg_pmksa);
+ break;
case IW_PMKSA_FLUSH:
- if (!rdev->ops->flush_pmksa)
- return -EOPNOTSUPP;
-
- return rdev_flush_pmksa(rdev, dev);
+ if (!rdev->ops->flush_pmksa) {
+ ret = -EOPNOTSUPP;
+ break;
+ }
+ ret = rdev_flush_pmksa(rdev, dev);
+ break;
default:
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ break;
}
+ mutex_unlock(&rdev->mtx);
+
+ return ret;
}
static const iw_handler cfg80211_handlers[] = {
diff --git a/net/wireless/wext-sme.c b/net/wireless/wext-sme.c
index c67d7a82ab13..ab4de0a50ad4 100644
--- a/net/wireless/wext-sme.c
+++ b/net/wireless/wext-sme.c
@@ -375,6 +375,7 @@ int cfg80211_wext_siwmlme(struct net_device *dev,
if (mlme->addr.sa_family != ARPHRD_ETHER)
return -EINVAL;
+ mutex_lock(&rdev->mtx);
wdev_lock(wdev);
switch (mlme->cmd) {
case IW_MLME_DEAUTH:
@@ -386,6 +387,7 @@ int cfg80211_wext_siwmlme(struct net_device *dev,
break;
}
wdev_unlock(wdev);
+ mutex_unlock(&rdev->mtx);
return err;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,53 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="15"
inherit kernel-2
detect_version
detect_arch
#nvidia doesn't have a release for x86 that supports >4.17 yet, so now we give up on them
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/4.13.8"
IUSE="experimental +hardened pax_kernel"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
PENPATCHES_VER="1"
PENPATCHES="penpatches-4.13.8-${PENPATCHES_VER}.tar.xz"
PENPATCHES_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES}"
HARDENED_URI="https://dev.pentoo.ch/~blshkv/distfiles/v2-kconfig-add-hardened-defconfig-helpers.patch"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${PENPATCHES_URI}
hardened? ( ${HARDENED_URI} )"
UNIPATCH_LIST="${DISTDIR}/${PENPATCHES}"
src_prepare() {
#https://patchwork.kernel.org/patch/10593391/
use hardened && eapply "${DISTDIR}/v2-kconfig-add-hardened-defconfig-helpers.patch"
eapply_user
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "It may be desired to download the official pentoo kernel config from here:"
if use amd64; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/amd64/kernel/config-${PV}"
fi
if use x86; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/x86/kernel/config-${PV}"
fi
use pax_kernel && ewarn "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
use hardened && ewarn "Please run \"make help\" to see additional hardended options"
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -1,53 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="14"
inherit kernel-2
detect_version
detect_arch
#nvidia doesn't have a release for x86 that supports >4.17 yet, so now we give up on them
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/4.13.8"
IUSE="experimental +hardened pax_kernel"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
PENPATCHES_VER="1"
PENPATCHES="penpatches-5.2.1-${PENPATCHES_VER}.tar.xz"
PENPATCHES_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES}"
HARDENED_URI="https://dev.pentoo.ch/~blshkv/distfiles/v2-kconfig-add-hardened-defconfig-helpers.patch"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${PENPATCHES_URI}
hardened? ( ${HARDENED_URI} )"
UNIPATCH_LIST="${DISTDIR}/${PENPATCHES}"
src_prepare() {
#https://patchwork.kernel.org/patch/10593391/
use hardened && eapply "${DISTDIR}/v2-kconfig-add-hardened-defconfig-helpers.patch"
eapply_user
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "It may be desired to download the official pentoo kernel config from here:"
if use amd64; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/amd64/kernel/config-${PV}"
fi
if use x86; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/x86/kernel/config-${PV}"
fi
use pax_kernel && ewarn "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
use hardened && ewarn "Please run \"make help\" to see additional hardended options"
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -1,59 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="21"
inherit kernel-2
detect_version
detect_arch
#nvidia doesn't have a release for x86 that supports >4.17 yet, so now we give up on them
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/"
IUSE="experimental pax_kernel pentoo-experimental"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
#normal penpatches
PENPATCHES_VER="1"
PENPATCHES="penpatches-5.3.8-${PENPATCHES_VER}.tar.xz"
PENPATCHES_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES}"
#experimental penpatches
PENPATCHES_EXP_VER="2"
PENPATCHES_EXP="penpatches-experimental-5.3.8-${PENPATCHES_EXP_VER}.tar.xz"
PENPATCHES_EXP_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES_EXP}"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${PENPATCHES_URI} ${PENPATCHES_EXP_URI}"
UNIPATCH_LIST="${DISTDIR}/${PENPATCHES}"
pkg_setup() {
if use pax_kernel; then
die "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
fi
}
src_unpack() {
use pentoo-experimental && UNIPATCH_LIST+=" ${DISTDIR}/${PENPATCHES_EXP}"
kernel-2_src_unpack
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "It may be desired to download the official pentoo kernel config from here:"
if use amd64; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/amd64/kernel/config-${PV}"
fi
if use x86; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/x86/kernel/config-${PV}"
fi
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -1,61 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="28"
inherit kernel-2
detect_version
detect_arch
#nvidia doesn't have a release for x86 that supports >4.17 yet, so now we give up on them
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/"
IUSE="experimental pax_kernel pentoo-experimental"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
#normal penpatches
PENPATCHES_VER="1"
PENPATCHES="penpatches-5.3.8-${PENPATCHES_VER}.tar.xz"
PENPATCHES_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES}"
#experimental penpatches
PENPATCHES_EXP_VER="2"
PENPATCHES_EXP="penpatches-experimental-5.3.8-${PENPATCHES_EXP_VER}.tar.xz"
PENPATCHES_EXP_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES_EXP}"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${PENPATCHES_URI} ${PENPATCHES_EXP_URI}"
#these three got merged
UNIPATCH_EXCLUDE="4001-mt76-mt76u-rely-on-usb_interface-instead-of-usb_dev.patch 4006_mt76-mt76x0u-add-support-to-TP-Link-T2UHP.diff 4007_v2-cfg80211-use-parallel_ops-for-genl.patch"
UNIPATCH_LIST="${DISTDIR}/${PENPATCHES}"
pkg_setup() {
if use pax_kernel; then
die "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
fi
}
src_unpack() {
use pentoo-experimental && UNIPATCH_LIST+=" ${DISTDIR}/${PENPATCHES_EXP}"
kernel-2_src_unpack
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "It may be desired to download the official pentoo kernel config from here:"
if use amd64; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/amd64/kernel/config-${PV}"
fi
if use x86; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/x86/kernel/config-${PV}"
fi
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -0,0 +1,61 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="51"
inherit kernel-2
detect_version
detect_arch
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/"
IUSE="experimental pax_kernel pentoo-experimental"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
pkg_setup() {
if use pax_kernel; then
die "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
fi
}
src_unpack() {
#default
kernel-2_src_unpack
#penpatches
eapply -s "${FILESDIR}/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch"
eapply -s "${FILESDIR}/4004_zd1211rw-inject+dbi-fix-4.7ish.patch"
eapply -s "${FILESDIR}/4005_ipw2200-inject-4.7ish.patch"
eapply -s "${FILESDIR}/4400_logo_larry_the_cow.patch"
#experimental penpatches
if use pentoo-experimental; then
eapply -s "${FILESDIR}/4008_cfg80211-decouple-us-from-the-RTNL-exp.patch"
eapply -s "${FILESDIR}/4009_iwl_fix_parallel_locking-exp.patch"
fi
}
src_install() {
kernel-2_src_install
insinto /usr/share/${PN}
if use amd64; then
doins "${FILESDIR}"/config-amd64-${PV}
elif use x86; then
doins "${FILESDIR}"/config-x86-${PV}
fi
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "The official pentoo kernel config is now installed with the kernel in /usr/share/pentoo-sources"
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -1,61 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="21"
inherit kernel-2
detect_version
detect_arch
#nvidia doesn't have a release for x86 that supports >4.17 yet, so now we give up on them
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/"
IUSE="experimental pax_kernel pentoo-experimental"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
#normal penpatches
PENPATCHES_VER="1"
PENPATCHES="penpatches-5.3.8-${PENPATCHES_VER}.tar.xz"
PENPATCHES_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES}"
#experimental penpatches
PENPATCHES_EXP_VER="2"
PENPATCHES_EXP="penpatches-experimental-5.3.8-${PENPATCHES_EXP_VER}.tar.xz"
PENPATCHES_EXP_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES_EXP}"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${PENPATCHES_URI} ${PENPATCHES_EXP_URI}"
#these three got merged
UNIPATCH_EXCLUDE="4001-mt76-mt76u-rely-on-usb_interface-instead-of-usb_dev.patch 4006_mt76-mt76x0u-add-support-to-TP-Link-T2UHP.diff 4007_v2-cfg80211-use-parallel_ops-for-genl.patch"
UNIPATCH_LIST="${DISTDIR}/${PENPATCHES}"
pkg_setup() {
if use pax_kernel; then
die "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
fi
}
src_unpack() {
use pentoo-experimental && UNIPATCH_LIST+=" ${DISTDIR}/${PENPATCHES_EXP}"
kernel-2_src_unpack
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "It may be desired to download the official pentoo kernel config from here:"
if use amd64; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/amd64/kernel/config-${PV}"
fi
if use x86; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/x86/kernel/config-${PV}"
fi
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -1,60 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="20"
inherit kernel-2
detect_version
detect_arch
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/"
IUSE="experimental pax_kernel pentoo-experimental"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
#normal penpatches
PENPATCHES_VER="1"
PENPATCHES="penpatches-5.3.8-${PENPATCHES_VER}.tar.xz"
PENPATCHES_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES}"
#experimental penpatches
PENPATCHES_EXP_VER="2"
PENPATCHES_EXP="penpatches-experimental-5.3.8-${PENPATCHES_EXP_VER}.tar.xz"
PENPATCHES_EXP_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES_EXP}"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${PENPATCHES_URI} ${PENPATCHES_EXP_URI}"
#these three got merged
UNIPATCH_EXCLUDE="4001-mt76-mt76u-rely-on-usb_interface-instead-of-usb_dev.patch 4006_mt76-mt76x0u-add-support-to-TP-Link-T2UHP.diff 4007_v2-cfg80211-use-parallel_ops-for-genl.patch"
UNIPATCH_LIST="${DISTDIR}/${PENPATCHES}"
pkg_setup() {
if use pax_kernel; then
die "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
fi
}
src_unpack() {
use pentoo-experimental && UNIPATCH_LIST+=" ${DISTDIR}/${PENPATCHES_EXP}"
kernel-2_src_unpack
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "It may be desired to download the official pentoo kernel config from here:"
if use amd64; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/amd64/kernel/config-${PV}"
fi
if use x86; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/x86/kernel/config-${PV}"
fi
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -1,60 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="6"
inherit kernel-2
detect_version
detect_arch
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/"
IUSE="experimental pax_kernel pentoo-experimental"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
#normal penpatches
PENPATCHES_VER="1"
PENPATCHES="penpatches-5.3.8-${PENPATCHES_VER}.tar.xz"
PENPATCHES_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES}"
#experimental penpatches
PENPATCHES_EXP_VER="2"
PENPATCHES_EXP="penpatches-experimental-5.3.8-${PENPATCHES_EXP_VER}.tar.xz"
PENPATCHES_EXP_URI="https://dev.pentoo.ch/~zero/distfiles/${PENPATCHES_EXP}"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${PENPATCHES_URI} ${PENPATCHES_EXP_URI}"
#these three got merged
UNIPATCH_EXCLUDE="4001-mt76-mt76u-rely-on-usb_interface-instead-of-usb_dev.patch 4006_mt76-mt76x0u-add-support-to-TP-Link-T2UHP.diff 4007_v2-cfg80211-use-parallel_ops-for-genl.patch"
UNIPATCH_LIST="${DISTDIR}/${PENPATCHES}"
pkg_setup() {
if use pax_kernel; then
die "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
fi
}
src_unpack() {
use pentoo-experimental && UNIPATCH_LIST+=" ${DISTDIR}/${PENPATCHES_EXP}"
kernel-2_src_unpack
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "It may be desired to download the official pentoo kernel config from here:"
if use amd64; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/amd64/kernel/config-${PV}"
fi
if use x86; then
ewarn "https://raw.githubusercontent.com/pentoo/pentoo-livecd/master/livecd/x86/kernel/config-${PV}"
fi
}
pkg_postrm() {
kernel-2_pkg_postrm
}

View file

@ -0,0 +1,61 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="9"
inherit kernel-2
detect_version
detect_arch
KEYWORDS="amd64 x86"
HOMEPAGE="https://github.com/pentoo/pentoo-livecd/tree/master/kernel/"
IUSE="experimental pax_kernel pentoo-experimental"
DESCRIPTION="Pentoo kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
pkg_setup() {
if use pax_kernel; then
die "pax_kernel is no longer available, you MUST ensure the use flag is no longer set"
fi
}
src_unpack() {
#default
kernel-2_src_unpack
#penpatches
eapply -s "${FILESDIR}/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch"
eapply -s "${FILESDIR}/4004_zd1211rw-inject+dbi-fix-4.7ish.patch"
eapply -s "${FILESDIR}/4005_ipw2200-inject-4.7ish.patch"
eapply -s "${FILESDIR}/4400_logo_larry_the_cow.patch"
#experimental penpatches
if use pentoo-experimental; then
eapply -s "${FILESDIR}/4008_cfg80211-decouple-us-from-the-RTNL-exp.patch"
eapply -s "${FILESDIR}/4009_iwl_fix_parallel_locking-exp.patch"
fi
}
src_install() {
kernel-2_src_install
insinto /usr/share/${PN}
if use amd64; then
doins "${FILESDIR}"/config-amd64-${PV}
elif use x86; then
doins "${FILESDIR}"/config-x86-${PV}
fi
}
pkg_postinst() {
kernel-2_pkg_postinst
einfo "For more info on this patchset, and how to report problems, see:"
einfo "${HOMEPAGE}"
ewarn "The official pentoo kernel config is now installed with the kernel in /usr/share/pentoo-sources"
}
pkg_postrm() {
kernel-2_pkg_postrm
}