From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-x22a.google.com (mail-ob0-x22a.google.com [IPv6:2607:f8b0:4003:c01::22a]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 24F0B21FD42; Fri, 7 Aug 2015 03:08:50 -0700 (PDT) Received: by obbfr1 with SMTP id fr1so38995471obb.1; Fri, 07 Aug 2015 03:08:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=2no6tmqvJR2CamrG52NxYYg4gjvgAWU73WU5Sv0TtKQ=; b=otNJPjhJ7zgo9QrSDiUAePNERQCisDmZf0OWNsZQZXIewZSPPCWsveFUTCyn/fjXIF cnwNmBWuO6d8yw7ZCb6GDAR7ekLm+jjPOruH505WoCxiLa6oQpj5pxvb6QyvOHp1B1KO Y9iDBRACR7Mo18TObxs/NTUBrNlSiARvxNalZMzqnXqwpJfOfLEs7sU2z1y8SeRyzr9e BzhsOHYDU/sQCMi4byYDF6BDDkZpAQhCrcn5rujFSw3sv+x0sQAIBupLXecfdYlaGhmg lSDOW6r8gdHapfC7+LUB2WWOXDPZbVDC/AU6iX7kGg81uSYsY+xUtyHhIIV6ME/Y2OBk +6Ww== MIME-Version: 1.0 X-Received: by 10.60.93.42 with SMTP id cr10mr6100529oeb.74.1438942129828; Fri, 07 Aug 2015 03:08:49 -0700 (PDT) Received: by 10.202.108.12 with HTTP; Fri, 7 Aug 2015 03:08:49 -0700 (PDT) In-Reply-To: <55BFBBF1.4080709@lena.im> References: <55BFBBF1.4080709@lena.im> Date: Fri, 7 Aug 2015 12:08:49 +0200 Message-ID: From: Dave Taht To: make-wifi-fast@lists.bufferbloat.net, "cerowrt-devel@lists.bufferbloat.net" Content-Type: multipart/mixed; boundary=047d7b33d42c80ba64051cb5d2f4 Subject: [Cerowrt-devel] Fwd: [Battlemesh] BSS load element patch X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Aug 2015 10:09:19 -0000 --047d7b33d42c80ba64051cb5d2f4 Content-Type: multipart/related; boundary=047d7b33d42c80ba62051cb5d2f3 --047d7b33d42c80ba62051cb5d2f3 Content-Type: multipart/alternative; boundary=047d7b33d42c80ba5d051cb5d2f2 --047d7b33d42c80ba5d051cb5d2f2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable a thought ---------- Forwarded message ---------- From: Arthur LENA Date: Mon, Aug 3, 2015 at 9:07 PM Subject: [Battlemesh] BSS load element patch To: battlemesh@ml.ninux.org Hi all! Attached the patch adding the BSS Load IE to the beacon sent by the ath9k driver (specification can be found @ IEEE802.11-2012 =C2=A78.4.2.30). It fi= lls the channel utilization field (based on cycles counters read out of the chipsets) and the station count field. This patch applies successfully to the compat-wireless package in the OpenWRT build environment (trunk r45674) and was tested on the WDR4300. All comments are welcome!! Cheers Arthur _______________________________________________ Battlemesh mailing list Battlemesh@ml.ninux.org http://ml.ninux.org/mailman/listinfo/battlemesh --=20 Dave T=C3=A4ht worldwide bufferbloat report: http://www.dslreports.com/speedtest/results/bufferbloat And: What will it take to vastly improve wifi for everyone? https://plus.google.com/u/0/explore/makewififast --047d7b33d42c80ba5d051cb5d2f2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
a thought
---------- Forward= ed message ----------
From: Arthur LENA <arthur@lena.im>
Date: Mon, Aug 3, 2015 at 9:07 PM
Subject: [Battlemesh] = BSS load element patch
To:
ba= ttlemesh@ml.ninux.org


=20 =20 =20
Hi all!

Attached the patch adding the BSS Load IE to the beacon sent by the ath9k driver (specification can be found @ IEEE802.11-2012 =C2=A78.4.2.30). It fills the channel utilization field (based on cycle= s counters read out of the chipsets) and the station count field. This patch applies successfully to the compat-wireless package in the OpenWRT build environment (trunk r45674) and was tested on the WDR4300. All comments are welcome!!

3D""

Cheers
Arthur

_______________________________________________
Battlemesh mailing list
Battlemesh@ml.ninux.org
http://ml.ninux.org/mailman/listinfo/battlemesh



--
Dave T=C3=A4ht
worldwide bufferbloat report:
htt= p://www.dslreports.com/speedtest/results/bufferbloat
And:
What wi= ll it take to vastly improve wifi for everyone?
https://plus.google.= com/u/0/explore/makewififast
--047d7b33d42c80ba5d051cb5d2f2-- --047d7b33d42c80ba62051cb5d2f3 Content-Type: image/png Content-Disposition: inline Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: 3d8b16ef24b50e9a_0.0.1.1 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 AtKLuUiJTggIASEgBBoBAenFRmhl1VEICAEhIARyEZBezEVKdEJACAgBIdAICEgvNkIrq45CQAgI ASGQi4D0Yi5SohMCQkAICIFGQEB6sRFaWXUUAkJACAiBXARqoBf/+eef3NLaCN3ff/+dKWk+ZSZD kbV1BOpvOLSeFmmdw62VSFW9GNVzSHSVtjUuOiRq4r66+eab77rrrimnnPKXX35p167dpJNO+sMP P/Tq1euPP/446KCDHn/88TnmmCOT1XPPPTdq1Khff/21c+fOv//++2STTbbFFlvY7O++++75558/ xRRT/Pnnn5Ry5JFHwjaa6Bb34osvXnnlld9+++16663Xs2dPeGYK45F9+OGHhxxyyGyzzTZ06NA0 h1dffXWvvfZC8l133TVN2VbebrfddiuttNIuu+xSgcA5ea+44opvvvnmP//5zwknnLDxxhtXUEpO lhxJcvhURnPNNdeUOxwqK6iGucLBVTTYN9lkE1vu2WefTf+faKIaLKxz6pI/3JqzA+RPF+k6ekPD /vz4449PPfXUkkMyH5wiMcriUAHCFYyLplATRdWPpKPGc/5OPPHETz75BEpAQRPw8N5775HIEgPt 9dFHH+UwsTR77LFH3759zU/0WadOnWgYfqImF1988S+//JJnilt00UWLEsPiDj744FVWWSVMLzfl 8MMP33fffXNyMU2cd955OZSV0Tz//PMoksryFuVK8GQQstYpyphOL5n3nXfeWX/99WFCdx89enSa W7lv3UqVlKRc5jn0VoDKhkNOEdXTRJs+OuKKBruV4fvvv2eJfMstt1QvVT6H9HCztWvmDlA0XUTR jlbWGxruzwsuuCBzSKbBiZbrJeZzyEe4ynHRFGoiBwpocpd7W221FVaUq1e7dOmyzTbbYDtOMskk EX2bTHLtOThjLF599dXkAHGWYO3bt+eZ4vbbb7+ixJA9PCeffPIwvdyUfFszn7JcGaD/7bff6Bb8 ryBvUZY0z9lnn32qqaYqyptOL5n3mWeeYf0Ek6WWWgqbPs2trLdepUpKUhbzHGJXgMqGQ04pVdIU NX10xBUNdivDJZdcwhr03HPPrVKqsrInhptbu2buAFGpitCO1tcbGu7PnXfeOXNIRsWIFleUmM8h E+Hqx0VTqImi6nvpuXpxrrnmCjla5ydtif0333zzYUQasttvvx1bCnfZ4MGDw4xuyvv//mEmkohn ddZZZ11hhRUefPBBfuKlLEpM83TfIslJJ52E727HHXf86aefeEWD4ZoYNmzYhhtueMcddxjie++9 F4tzyJAh119/fZR5ukbu2xtuuGGRRRa56aabKJHVwyOPPAIIyy677Pbbb285e9xYFnTt2vXWW2/t 3bv3Qgst9Pbbb1988cWgOmLEiLFjx3ryYG+dc845AwYM2H///Vna8DasY8gQMsvziSee8BDAEY26 ojjIonknTJgwaNCgiy66qE+fPhj3rkgl8+JmxzX31ltvnXbaaV9//XUo7VVXXUWtmW3pURjrafS8 5nOBciXJh8WtSyhbFA03S9hS5Q4Hr0FxOi2xxBJsNDAuttxyS7YVXHwefvhh72fJvuQ2vdedoiMu Pdjpcq+//jo9cMyYMbSpC4V9vvTSS3H23HbbbfBnaL/yyivmVQhvSBlW3ysiHL+2CWgs240r6wAh 82gHSE8XbpdwG4tc3rjzhob7E3jduoSjPoq8qbU794Iw3QkxeMX8vPnmm+OKS8xmiZEOBzvEorC4 IlU/LlxuTa0mfDAz7UpLZv2oNmWaaaZBu/CTV8cffzwPjBb2BXn4+eefJ554YmZhr5SBAwcusMAC p5xyCjM7TtQ999zTEuCS7dGjB1KiU8HCpEcTPZ5HH330uuuu6yWyd8KemUlkOwQDl2cUFTujPNBX 1llnHR7w3C699NLsaPK80047hX7UaI223npr40f13tK52R813kKkYmWNM4Tehuvpgw8+oIiQG0V3 6NABvcjbHXbY4ZhjjuEBJp999pkR3v5/4403+vXrx09crChdCKJ1jDK0PEMEeLXRRhuZ6kTz4jRj 3QDZY4899vLLL3tSpfNCjM4znvMiabEmKeLNN98EqzR6ofAuUFaSooJCnG1dKshi8roClDscwgaF J/3/xx9/5OGAAw6gC5m9doMP6e5P9Jw31qLNB6todyI9MbjCwQ49U6rpqAyicKQYQOicVIFpAT8t 3dWMwSi8UUqv+oanHW5hB3BrV00HgE/IPMSz5HThyuM21p133unNPFDaoWGq6f60dYl2EkPvgRPO LRBgabBdxQNtjbqK0lh40yMdJkaqEBZXHvNczbiAQ1OoiVDIaEquveir0//7e7HFFiOBtSEbDzzc c889LExYp1x77bWcs5hhhhnC7GThhMLpp59+3333sfQw52sgw2J44IEH0FhsRC2//PIsbYoSQ55h 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 IdAMCJRxHrUZpFERQkAICAEhIARaFgHpxZbFX6ULASEgBIRA60JAerF1tYekEQJCQAgIgZZFQHqx ZfFX6UJACAgBIdC6EJBebF3tIWmEgBAQAkKgZRGQXmxZ/FW6EBACQkAItC4EpBdbV3tIGiEgBISA EGhZBKQXWxZ/lS4EhIAQEAKtCwHpxdbVHpJGCAgBISAEWhYB6cWWxV+lCwEhIASEQOtCQHqxdbWH pBECQkAICIGWRUB6sWXxV+lCQAgIASHQuhCQXmxd7SFphIAQEAJCoGURkF5sWfxVuhAQAkJACLQu BKQXW1d7SBohIASEgBBoWQQ6tGzxbaL0n3/++fnnn28TolYj5Pfffz/NNNNUw6GV56UdJ5100vbt 27dyOWsu3oQJEyaaaKKJJ5645pwbkGHdD5NW3qbt2rVbaaWVmlpIxSUujfALL7yw5JJLlqYThRAQ AkJACDQlAujFv//+uylL+G/eshdLI8xae4455hg5cuTcc89dmrrNUtx9993rrrtumxW/tOBPP/30 /PPP36lTp9Kk9UXx+uuvTz755J07d66varVMbep+mLQMrHmlAv6JJ56YR1sVlfRiafhYnnz88ccz zTRTfevFuq/gRx99NNdcc80wwwylm7y+KH744Ycpppiivntvs7VY3Q+TZkOygoImm2wyRnEFGcvN onM35SImeiEgBISAEKhnBKQX67l1VTchIASEgBAoFwHpxXIRE70QEAJCQAjUMwLSi/XcuqqbEBAC QkAIlIuA9GK5iIleCAgBISAE6hkB6cV6bl3VTQgIASEgBMpFQHqxXMRELwSEgBAQAvWMgPRiPbdu M9fttddeW3PNNass9K+//uIKBZg89NBDu+yyS5XclF0ItBIExo0bxyek9913X6Y8jz322E477TRm zJg99tgjmiUcIAlil0NCkv333//OO++MFmcSjVQJgrLISvJpKQLpxZZCvg7L/f333z/55JMqK/bl l18ed9xxMPn111+/+OKLKrkpuxBoJQhcfPHFyy677Lnnnpspz6KLLjpw4MBffvmlaBSEAyRB7Baa kITRxzXCCQmNVAkC8yqTrCSfliKQXmwp5Bul3Lvuuqtnz57YkaNGjaLOY8eOPe200/baa68VV1zx mGOO+eeff0i88MILuQt4iy22OPnkk1deeeXPPvts9913J/3HH3+EcrnlljvssMMMZaOgpnrWFwLc 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 jdu8wiN2baVeklMItEIEsA6JZlOlYJzx4bPF5o9vU6XYVWaXXqwSQGUvDwEcO2EGNkL4C9OVIgSE QMUIYAJGrcCyGDIwMRbLylIHxPKj1kEjqgpCQAgIASFQMwSkF2sGpRgJASEgBIRAHSAgvVgHjagq CAEhIASEQM0QkF6sGZRiJASEgBAQAnWAgPRiHTSiqiAEhIAQEAI1Q0DnUUtDyTet6623Hh+e1/eH BNwaTBD20nC0WQpi6HAhdX03YrRxuGaIKxR04jcKTrmJdT9MygWkOem5FYupuBlKbGduxmuGktpu EVyttO6667Zd+TMl51phVgCZxG2RjCuS+cY5ejlyW6xOvszcxs5lQ9Q9P4soixCo+2FSVPFWks74 tZEGmk4k6cWmw1achYAQEAJCoO0hoP3FttdmklgICAEhIASaDgHpxabDVpyFgBAQAkKg7SEgvdj2 2kwSCwEhIASEQNMhIL3YdNiKsxAQAkJACLQ9BKQX216bSWIhIASEgBBoOgRao14kSOY+++wz88wz E/GLQNKEk47Wn0CaI0eOLPdVlL61JXIWfM011/zyyy9bm2A1lKcR6mjgIu7rcsstt8wyyxx33HE1 BLDOWDVOf2iphlM/LAN5vl9sbX+9evXadtttv/nmGwR75plnOnfuTODpUEi+Vp533nnDdFISr6L0 rSqRMNkrrrgiX5tRi1YlWA2FaYQ6Grgee+yxbt26ETCd1d5qq6123XXX1RDGumHVOP2hpZpM/bAs 5FudvYgi5EaJSy65hBi2qHdW2aeeeurgwYONqr/hhhsIHs38cv311x999NFojt13351XKM6ePXti Y40aNYqf9hWL0L322muFFVbo16/fSy+9xKvevXt/9913ZSwcmp2UKKCHHnroHHPM0ewlN1+BjVBH gyYRmM866yz+E/p8+eWXf/fdd5sP5bZTUuP0h5ZqE/XD8pAvS4s2A/G55567+eabuwV9/fXXGE/c 2fHss89iIL733nuffvpply5d7rvvvnnmmefnn39G4RGWmnQcj1haDzzwAM/m1fDhw3fbbbe///77 2muv5QG2I0aMYOXeDBWpsgis5Dq2Fw04jVBH2w0++uij2Wef/eWXX66yY9Rx9obqDy3VjuqHOci3 uvtR2TX0FDtazfyNHj16m222QSNCgE35ww8/cLsV113edNNNaEFMRtLnmmuum2++GXvLvOratSub OtNMMw2+2WHDhkEwYMCA8hYOohYCVSMwbty49ddff8iQIYsusVi39QAAIABJREFUumjVzMRACFSI gPphJnCtzo+65JJLPvfccyhCW4Gnn3564YUX7tixI/db2kuf3Vsuf/zxxymmmKLDv3+4UjfaaCOb F6frPffcQ64DDjgA1ZgJisiEQA0RwM+x1lprnXTSSf37968hW7ESAmUhoH6YD1er04srr7wyx1AP P/xwoxo//PDDgQMHHnzwwVSJvcYxY8ZgBfO8zjrrPP7448a4ZNuGQzo77rgjtuAn//7hdzWv8KOy YTlo0CCIH374YbYbP//8c1fp5iMlSiFQAQK49Pv06XPNNde4y7UK+CiLEKgGAfXDstBrdXoR/+ct t9zC8YQ555xzqaWWWmWVVTg4YxbazCw4Uflygz/O+PFz0kkn7d69e9++fdlfXGKJJXr06PHQQw9x sma66aYzrziMM3ToUCxF9h0PO+ww4kXMOuusBCspCyMRC4GKEeDQzfjx4+mBM/z7p081KkZSGatB QP2wLPRabzwNTsd8++232I5efBzSsQWnmmoqU89ff/2Vk348T5gwgVdoRFt/8wr78quvvuJ0K17W sqARsRAQAkJACDQgAq1XLzZgY6jKQkAICAEh0OIItDo/aosjIgGEgBAQAkKgkRGQXmzk1lfdhYAQ EAJCwEdAetFHRL+FgBAQAkKgkRGQXmzk1lfdhYAQEAJCwEdAetFHRL+FgBAQAkKgkRGQXmzk1lfd hYAQEAJCwEdAetFHRL+FgBAQAkKgkRGQXmzk1lfdhYAQEAJCwEdAetFHRL+FgBAQAkKgkRGQXmzk 1lfdhYAQEAJCwEdAetFHRL+FgBAQAkKgkRGQXmzk1lfdhYAQEAJCwEdAetFHRL+FgBAQAkKgkRGQ Xmzk1lfdhYAQEAJCwEdAetFHRL+FgBAQAkKgkRGQXmzk1lfdhYAQEAJCwEdAetFHRL+FgBAQAkKg kRGQXmzk1lfdhYAQEAJCwEdAetFHRL+FgBAQAkKgkRGQXmzk1lfdhYAQEAJCwEdAetFHRL+FgBAQ AkKgkRHo0MiVV91dBP7666/bbrvNw2TZZZedaaaZRo8ePfPMM3fv3r3ZEHv99dfffvvtueaaa4kl lkgUCs1zzz230UYbTTbZZIbstddeI7Fbt25dunRxM4aUCbb2lYtJu3btJp544q5du84999xuXkp8 5JFH/vjjj3nnnXedddZp3769fZt4ZWgeffTRSSeddJlllskRJpPmmWee+eSTT3r27AnndBZkbv6W NSIBrAuUSfztt9+uu+66H374YYUVVlhqqaXSwtfkbVSMmnAWk7aNwD/6EwL/IvDjjz+GXfmqq676 9ttvSV933XWbDad99tnHSrL55pv//fff0aIR2GjNjz76yBDstNNOJiNz7hlnnGFzhZRRhmFiiAna cd9997WUxx57LClW2oUXXvjLL780bxOvbHYydu7cOSy3mpS+ffvC1mKSYNX8LWuEueKKK9Zbb71Q sG222QbJWeIccMAB4duapxSJUfOCxLDNIfBfbU5iCdxECBgdMOecc97r/H3++ee///472vHBBx9s onI9tu+99x6TI4bX+++/v/322/OMURUW/fTTT1tT0uiAm266CeIBAwY8/vjjmG6oxrfeeouMIWXI rSjFYILp+cADD4wZMwZrZr755qOUsWPHkgUVSCmLLLIIJtq7776744478mq//fZLv3LLgr4B9SKg YdCHmGOLTz755BMmTAhfNUVKkRhNUZZ4ti0EtL/I1KS//0WAiWkt5w/3KXrxwgsvvOuuuwzRm2++ id9ygQUW2HPPPU8//XRov/r3jwcsJEMzcOBAfuKm+/TTT3k47bTT1l9//SWXXPLrr7+G4J133unX r99CCy204YYbPv/88x76TIukQIzCwIvLs0nxyFZdddVffvnF9bahDqHZZZdd8PciGy6y22+/nZSQ 0mNV8ucUU0zRo0eP1VdfHbH5D/2ff/7Jf/x+lIK9OP30088zzzynnHLKsGHDevXqlX5VsjhD8N13 36FiUbp4WQ8//PBff/3VpFOp1VZbjeKAaMiQISYRt/MGG2wA8YEHHohU0SLSsJMlSsDaghYcMWJE //79WRNgvo8bN848Y5jS7kUZcYeSEasd4VF4a6yxxhNPPAExTYMDgGWE6SFWVFYVH3zwAX2GrmJ6 RRQBr0fBs6R4FBGCViRGFDolNhwCbUuNS9qmQ8DYRtNNN90h///v4osvpjjX2/bzzz/PPvvsk0wy CVN27969O3T47/1pzDX+eGCiNOIxcfOTqZxdPR4gY8pmZuQtkx0blvwxXZLIHhiK1qvUHnvswU4e 892UU07Zp08fdE9Y6wsuuAC96PoMjz/+eMpCf0NsFAZzH88hZcitKMVg0qlTJzy0/DFlY2Rsuumm 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 CIFGRUB6sVFbXvUWAkJACAiBGALSizFUlCYEhIAQEAKNioD0YqO2vOotBISAEBACMQSkF2OoKE0I CAEhIAQaFQHpxUZtedVbCAgBISAEYgjUQC/+888/Mc5K+x8E/v777xCLaGJI1kZT6rt2RY3Samvd PCO0parfPLVzG73patp0nIs6bZ2l1wrA9oMHD86B5uabbz7zzDMffPBBHu64444xY8Zcf/31f/75 50svvbTeeuttuummU089dQ4faN59990TTzzx8ccfv++++/i/6qqrkljEf6GFFrJszz777GWXXbZd u3ZFBb3//vtDhw595plnnnrqqVdfffWJJ55YbrnlioirTL/iiitAY8cdd5x99tmpzpdffrn00kt7 PJFh8803//3335dZZhn76sMPP9xtt92efPLJdddd16Xfbrvtokw8nplkVdau4uxFtauYYdNlrCGS iVrXsJTKoLjmmmvKHaHldkuv+s1Z5SprVy6k0RFdLpMi+uHDh/fu3fuggw4qIqgs3Z2punbtapiE k3BNZuDKJKxJrho3DautnD+m/k8++QRKOv2uu+7Kw3vvvUci+nnSSSf96KOPcphAg5JYfPHFUQA8 w3DRRRc1GYv4W7bff//9lFNOecsttxQVhJZacsklGaKG4OWXX6YTFBHnpz///PPffPONR//OO++s v/76JD733HOjR4/++OOPf/jhhyjPTTbZ5LzzzvNeHX744fvuu6+XmGDiUqbJotJGBasgMZN5tHYV FNfUWdJIllt6Ua3TpWRCWq4w0FvOmSO0SJK0/FYwt/qZWUzeonJLVtlkzKydxy1daPptdESXlDaH 4IsvvkBD5FDm03gzlckYnYSrn4HzpaotpW2vGjZNrh91q622mm222VzF3qVLl2222QbrbZJJJslX +IwZVFf79u3JAsP99tvP5C3ibzlfcsklq6yyyrnnnhsta8KECXA47LDD5pxzTkOAxt1rr72ixPmJ v/322x577MF/LwsmKasBEpdaaikW45iMU001VZTtZJNNFqZHExNMXA4JsiJpQwEqSMlnHq1dBSU2 dZYEkhUUXVTrRCn5kJYrj8s5Z4QmJEnI70rlVj8zC9kT5aarbDPm1M5jlS40/RZWRQ2dFjjnbVNw 9mYqI0Z0Eq5yBs6pYFPQuO1VQwBz9eJcc80V1mqOOeYwiaDft2/f+eabDyPSpNx+++3YSRtvvLHn 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 CIF8BKQX87ESpRAQAkJACNQ/AtKL9d/GqqEQEAJCQAjkIyC9mI+VKIWAEBACQqD+EZBerP82Vg2F gBAQAkIgHwHpxXysRCkEhIAQEAL1j4D0Yv23sWooBISAEBAC+QhIL+ZjJUohIASEgBCofwSkF+u/ jVVDISAEhIAQyEdAejEfK1EKASEgBIRA/SMgvVj/bawaCgEhIASEQD4C0ov5WIlSCAgBISAE6h8B 6cX6b2PVUAgIASEgBPIRkF7Mx0qUQkAICAEhUP8ISC/WfxurhkJACAgBIZCPgPRiPlaiFAJCQAgI gfpHQHqx/ttYNRQCQkAICIF8BKQX87ESpRAQAkJACNQ/AtKL9d/GqqEQEAJCQAjkIyC9mI+VKIWA EBACQqD+EZBerP82Vg2FgBAQAkIgH4EO+aRQXnHFFQ8++CAPG2200QYbbGDykvLyyy8vueSSK6+8 suUWTSyrLBELASEgBISAEGh+BMqwF3/44Yd77713vn//llhiCSPr4Ycfjgrce++9XaUYTWz+uqlE ISAE2gQCP//887777jvnnHPOOuusq6yyytixY6sU+7HHHttpp51CJg899NAuu+zipv/1118jR470 KD/44IPtt9++b9++m2666eabb/7CCy94BOeff/5yyy23zDLLHHfccebVrbfeSspSSy112223WeLf fvttzTXX/PLLL01KmMtSLrjggkywH3/8cZf/+3fsscfmJ4b1NSnjxo2be+6577vvPvNzzJgxe+yx B8/2wctYhB5kmQAWSdKc6fvvv/+dd95ZYYn/ZP/RA2644Qa6kc0xbNiw9dZbz2MQTcwuRIRCQAg0 HAJrr702ehHtSM1vvPHGGWec8ZtvvqkGhe++++7VV18NOTBR4uty0z/77LN5553XTUEp9uzZ86OP PkKd4An79ttvUZBPPfWUpUFtdOvW7fvvv//ll19WW2216667zqguWI0fP37++ef/5JNPIH799ddX XHHF9u3bk87PMJdb6CSTTEJB77333kwzzcSD/aOI/MSwvibliCOOQMHbiqO5qRGv7IOXsQg9yHIA LBKjmdO33nprmqayQnPtxb///vvRRx/ddttt6UOPPPIISphOjF24zTbbXHrppQ888IBRy9HECjW2 sgkBIdAACDzzzDOokKFDh04++eRUt0+fPqeffvqvv/7KKhxja4011rj88stJx4g8/vjjsQJXXXXV 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 --047d7b33d42c80ba62051cb5d2f3-- --047d7b33d42c80ba64051cb5d2f4 Content-Type: text/x-patch; charset=US-ASCII; name="qbss_ath9k.patch" Content-Disposition: attachment; filename="qbss_ath9k.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 3d8b16ef24b50e9a_0.1 Y29tbWl0IDdlMWU3Y2ExN2QzMTU5YjU2MmJjYzU5ZDdiYzI3ZmFiYjFmNTBkNzMNCkF1dGhvcjog QXJ0aHVyIEzDqW5hIDxMZW5hQGZ0dy5hdD4NCkRhdGU6ICAgVHVlIE1heSAxMiAxOTozOTo0OCAy MDE1ICswMjAwDQoNCiAgICBhdGg5azogYWRkIFFCU1MgSUUgdG8gdGhlIGJlYWNvbnMNCiAgICAN CiAgICBTdW1tYXJ5Og0KICAgICogdGhlIFFCU1MgSUUgaXMgYWRkZWQgdG8gdGhlIGJlYWNvbnMg aW4gdGhlIGF0aDlrIGRyaXZlci4NCiAgICAqIHRoZSB2YWx1ZSBvZiB0aGUgY2hhbm5lbCBsb2Fk IGVsZW1lbnQgaXMgY2FsY3VsYXRlZCBvdmVyIGEgZml4ZWQNCiAgICAJcGVyaW9kIG9mIDUwIGJl YWNvbiBpbnRlcnZhbHMgKGkuZS4sIDUgc2Vjb25kcyB3aXRoIHRoZQ0KICAgIAlkZWZhdWx0IGJl YWNvbiBpbnRlcnZhbCkuDQogICAgKiBhIGNvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2YgYXNzb2Np YXRlZCBzdGF0aW9ucyBoYXMgYmVlbiBhZGRlZA0KICAgIAlmb3IgZWFjaCB2aXJ0dWFsIGludGVy ZmFjZSBpbiB0aGUgYXRoX3ZpZiBzdHJ1Y3QuIFRoaXMgYWxsb3dzDQogICAgCXRvIGZpbGwgdGhl IHN0YXRpb24gY291bnQgZWxlbWVudCBvZiB0aGUgUUJTUyBJRS4NCg0KZGlmZiAtLWdpdCBhL3Bh Y2thZ2Uva2VybmVsL21hYzgwMjExL3BhdGNoZXMvOTQwLWF0aDlrX3Fic3NfbG9hZF9lbGVtZW50 LnBhdGNoIGIvcGFja2FnZS9rZXJuZWwvbWFjODAyMTEvcGF0Y2hlcy85NDAtYXRoOWtfcWJzc19s b2FkX2VsZW1lbnQucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4z OTNhYjk5DQotLS0gL2Rldi9udWxsDQorKysgYi9wYWNrYWdlL2tlcm5lbC9tYWM4MDIxMS9wYXRj aGVzLzk0MC1hdGg5a19xYnNzX2xvYWRfZWxlbWVudC5wYXRjaA0KQEAgLTAsMCArMSwxMDkgQEAN CistLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvYmVhY29uLmMNCisrKysgYi9k cml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvYmVhY29uLmMNCitAQCAtMTUsNiArMTUsNyBA QA0KKyAgKi8NCisNCisgI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+DQorKyNpbmNsdWRl IDxsaW51eC9rZXJuZWwuaD4NCisgI2luY2x1ZGUgImF0aDlrLmgiDQorDQorICNkZWZpbmUgRlVE R0UgMg0KK0BAIC0xMDksNiArMTEwLDQ2IEBAIHN0YXRpYyB2b2lkIGF0aDlrX2JlYWNvbl9zZXR1 cChzdHJ1Y3QgYXQNCisJYXRoOWtfaHdfc2V0X3R4ZGVzYyhhaCwgYmYtPmJmX2Rlc2MsICZpbmZv KTsNCisgfQ0KKw0KKytzdGF0aWMgdm9pZCBhdGg5a19iZWFjb25fYWRkX3Fic3Moc3RydWN0IGF0 aF9zb2Z0YyAqc2MsDQorKwlzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLCBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBpbnQgYmVhY29uX2ludGVydmFsKQ0KKyt7DQorKyAgICAvKiBkZWZhdWx0IC0gODAy LjExZSBhbm5leCBEOiBkb3QxMUNoYW5uZWxVdGlsaXphdGlvbkJlYWNvbkludGVydmFsICovDQor KyAgICBzdGF0aWMgY29uc3QgdTggcWJzc19pZV9oZHJbXSA9IHsNCisrICAgICAgICBXTEFOX0VJ RF9RQlNTX0xPQUQsICAgICAgICAgICAgIC8qIHR5cGUgKi8NCisrICAgICAgICAweDA1LCAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIGxlbmd0aCAqLw0KKysgICAgICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAgICAvKiBkdW1teSB2YWx1ZXMgKi8NCisrICAgIH07DQorKyAgICB1 OCAqaGRyOw0KKysgICAgc3RydWN0IGF0aF9odyAqYWggPSBzYy0+c2NfYWg7DQorKyAgICBzdHJ1 Y3QgYXRoX2NvbW1vbiAqY29tbW9uID0gYXRoOWtfaHdfY29tbW9uKGFoKTsNCisrCXN0cnVjdCBh dGhfdmlmICphdnAgPSAodm9pZCAqKXZpZi0+ZHJ2X3ByaXY7DQorKyAgICBzdGF0aWMgY29uc3Qg dTggUUJTU19DVV9CRUFDT05fSU5URVJWQUxfTUFYID0gNTA7DQorKyAgICBzdGF0aWMgdTMyIGNo YW5uZWxfdGltZV9idXN5ID0gMDsNCisrICAgIHN0YXRpYyB1NjQgbGFzdF9jaGFubmVsX3RpbWVf YnVzeSA9IDA7DQorKyAgICBzdGF0aWMgdTggcWJzc19jdV9iZWFjb25faW50ID0gMDsNCisrICAg IHN0YXRpYyB1OCBxYnNzX2NoYW5uZWxfbG9hZDsNCisrDQorKyAgICAvKiBnZXQgdGhlIGluZm9y bWF0aW9uIG91dCBvZiB0aGUgc3VydmV5IHN0cnVjdCBmb3IgdGhlIGN1cnJlbnQgY2hhbm5lbCAq Lw0KKysgICAgc3Bpbl9sb2NrX2JoKCZjb21tb24tPmNjX2xvY2spOw0KKysNCisrICAgIGlmICgr K3Fic3NfY3VfYmVhY29uX2ludCA9PSBRQlNTX0NVX0JFQUNPTl9JTlRFUlZBTF9NQVgpIHsNCisr ICAgICAgICBjaGFubmVsX3RpbWVfYnVzeSA9IHNjLT5jdXJfc3VydmV5LT50aW1lX2J1c3kgLSBs YXN0X2NoYW5uZWxfdGltZV9idXN5Ow0KKysgICAgICAgIGNoYW5uZWxfdGltZV9idXN5ICs9IGF0 aF91cGRhdGVfc3VydmV5X3N0YXRzKHNjKTsNCisrICAgICAgICBxYnNzX2NoYW5uZWxfbG9hZCA9 IGNoYW5uZWxfdGltZV9idXN5ICogMjU1IC8NCisrICAgICAgICAgICAgKGJlYWNvbl9pbnRlcnZh bCAqIHFic3NfY3VfYmVhY29uX2ludCk7DQorKyAgICAgICAgY2hhbm5lbF90aW1lX2J1c3kgPSAw Ow0KKysgICAgICAgIHFic3NfY3VfYmVhY29uX2ludCA9IDA7DQorKyAgICAgICAgbGFzdF9jaGFu bmVsX3RpbWVfYnVzeSA9IHNjLT5jdXJfc3VydmV5LT50aW1lX2J1c3k7DQorKyAgICB9DQorKw0K KysgICAgc3Bpbl91bmxvY2tfYmgoJmNvbW1vbi0+Y2NfbG9jayk7DQorKw0KKysgICAgaGRyID0g c2tiX3B1dChza2IsIHNpemVvZihxYnNzX2llX2hkcikpOw0KKysgICAgbWVtY3B5KGhkciwgcWJz c19pZV9oZHIsIHNpemVvZihxYnNzX2llX2hkcikpOw0KKysJKigodTE2ICopIChoZHIgKyAyKSkg PSBjcHVfdG9fbGUxNihhdnAtPm5fYXNzb2Nfc3RhdGlvbnMpOw0KKysgICAgKihoZHIrNCkgPSBx YnNzX2NoYW5uZWxfbG9hZDsNCisrfQ0KKysNCisgc3RhdGljIHN0cnVjdCBhdGhfYnVmICphdGg5 a19iZWFjb25fZ2VuZXJhdGUoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsDQorCQkJCQkgICAgIHN0 cnVjdCBpZWVlODAyMTFfdmlmICp2aWYpDQorIHsNCitAQCAtMTUxLDYgKzE5Miw5IEBAIHN0YXRp YyBzdHJ1Y3QgYXRoX2J1ZiAqYXRoOWtfYmVhY29uX2dlbmUNCisJaWYgKHZpZi0+cDJwKQ0KKwkJ YXRoOWtfYmVhY29uX2FkZF9ub2Eoc2MsIGF2cCwgc2tiKTsNCisNCisrICAgIGF0aDlrX2JlYWNv bl9hZGRfcWJzcyhzYywgdmlmLCBza2IsDQorKyAgICAgICAgYXZwLT5jaGFuY3R4LT5iZWFjb24u YmVhY29uX2ludGVydmFsKTsNCisrDQorCWJmLT5iZl9idWZfYWRkciA9IGRtYV9tYXBfc2luZ2xl KHNjLT5kZXYsIHNrYi0+ZGF0YSwNCisJCQkJCSBza2ItPmxlbiwgRE1BX1RPX0RFVklDRSk7DQor CWlmICh1bmxpa2VseShkbWFfbWFwcGluZ19lcnJvcihzYy0+ZGV2LCBiZi0+YmZfYnVmX2FkZHIp KSkgew0KKy0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg5ay9hdGg5ay5oDQorKysr IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDlrL2F0aDlrLmgNCitAQCAtNjIzLDYgKzYy Myw4IEBAIHN0cnVjdCBhdGhfdmlmIHsNCisJdTMyIG5vYV9kdXJhdGlvbjsNCisJYm9vbCBwZXJp b2RpY19ub2E7DQorCWJvb2wgb25lc2hvdF9ub2E7DQorKw0KKysJdTE2IG5fYXNzb2Nfc3RhdGlv bnM7DQorIH07DQorDQorIHN0cnVjdCBhdGg5a192aWZfaXRlcl9kYXRhIHsNCistLS0gYS9kcml2 ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvbWFpbi5jDQorKysrIGIvZHJpdmVycy9uZXQvd2ly ZWxlc3MvYXRoL2F0aDlrL21haW4uYw0KK0BAIC0xNDg4LDYgKzE0ODgsNyBAQCBzdGF0aWMgaW50 IGF0aDlrX3N0YV9hZGQoc3RydWN0IGllZWU4MDIxDQorCXN0cnVjdCBhdGhfc29mdGMgKnNjID0g aHctPnByaXY7DQorCXN0cnVjdCBhdGhfY29tbW9uICpjb21tb24gPSBhdGg5a19od19jb21tb24o c2MtPnNjX2FoKTsNCisJc3RydWN0IGF0aF9ub2RlICphbiA9IChzdHJ1Y3QgYXRoX25vZGUgKikg c3RhLT5kcnZfcHJpdjsNCisrCXN0cnVjdCBhdGhfdmlmICphdnAgPSAodm9pZCAqKXZpZi0+ZHJ2 X3ByaXY7DQorCXN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgcHNfa2V5ID0geyB9Ow0KKwlpbnQg a2V5Ow0KKw0KK0BAIC0xNTAzLDYgKzE1MDQsOCBAQCBzdGF0aWMgaW50IGF0aDlrX3N0YV9hZGQo c3RydWN0IGllZWU4MDIxDQorCQlhbi0+a2V5X2lkeFswXSA9IGtleTsNCisJfQ0KKw0KKysJYXZw LT5uX2Fzc29jX3N0YXRpb25zKys7DQorKw0KKwlyZXR1cm4gMDsNCisgfQ0KKw0KK0BAIC0xNTI3 LDkgKzE1MzAsMTEgQEAgc3RhdGljIGludCBhdGg5a19zdGFfcmVtb3ZlKHN0cnVjdCBpZWVlOA0K KwkJCSAgICBzdHJ1Y3QgaWVlZTgwMjExX3N0YSAqc3RhKQ0KKyB7DQorCXN0cnVjdCBhdGhfc29m dGMgKnNjID0gaHctPnByaXY7DQorKwlzdHJ1Y3QgYXRoX3ZpZiAqYXZwID0gKHZvaWQgKil2aWYt PmRydl9wcml2Ow0KKw0KKwlhdGg5a19kZWxfcHNfa2V5KHNjLCB2aWYsIHN0YSk7DQorCWF0aF9u b2RlX2RldGFjaChzYywgc3RhKTsNCisrCWF2cC0+bl9hc3NvY19zdGF0aW9ucy0tOw0KKw0KKwly ZXR1cm4gMDsNCisgfQ0K --047d7b33d42c80ba64051cb5d2f4--