)]}'
{
  "log": [
    {
      "commit": "59e7e7078d6c2c6294caf454c6e3695f9d3e46a2",
      "tree": "6ef8de26cd28e6ac4fff34258300889ef989e98c",
      "parents": [
        "6f213ff1919fab6f8244ceae55631b5d6ef750a7"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Jun 02 17:28:37 2011 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 03 14:22:06 2011 -0400"
      },
      "message": "mac80211: call dev_alloc_name before copying name to sdata\n\nThis partially reverts 1c5cae815d19ffe02bdfda1260949ef2b1806171, because\nthe netdev name is copied into sdata-\u003ename, which is used for debugging\nmessages, for example. Otherwise, we get messages like this:\n\nwlan%d: authenticated\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nCc: Jiri Pirko \u003cjpirko@redhat.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "31ec97d9cebac804814de298592648f7c18d8281",
      "tree": "f725fcce0d5a9d6d7bd64b777de0a44e71773d0e",
      "parents": [
        "557eed603159b4e007c57d97fad1333ecebd3c2e",
        "daf8cf608d57a0b9f22276036e420cc82cf6ab4f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 24 16:47:54 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 24 16:47:54 2011 -0400"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "e00cf3b9eb7839b952e434a75bff6b99e47337ac",
      "tree": "ef583ab8ac09bf703026650d4bc7777e6a3864d3",
      "parents": [
        "1a8218e96271790a07dd7065a2ef173e0f67e328",
        "3b8ab88acaceb505aa06ef3bbf3a73b92470ae78"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:55:42 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 19:32:19 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-tx.c\n\tnet/mac80211/sta_info.h\n"
    },
    {
      "commit": "c29acf201007a6d73223f864f52406eb5ba19933",
      "tree": "f64976bf10ade80e6ceb39f917f6741b575ee301",
      "parents": [
        "8e621fc90b42fa2ca4ff65dd8d9cb21723e47837"
      ],
      "author": {
        "name": "Rajkumar Manoharan",
        "email": "rmanoharan@atheros.com",
        "time": "Sat May 14 09:43:28 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:25:29 2011 -0400"
      },
      "message": "mac80211: abort scan_work immediately when the device goes down\n\nAs long as no delay is required b/w channel change, scan work\nis proceeding without scheduling a new work. In such case, we\ncan not abort scan work when the card was unplugged. This patch\ncompletes the scanning immediately whenever the device goes down.\n\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rajkumar Manoharan \u003crmanoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "40b275b69ee660274b77fb612b0db31fd282fc3f",
      "tree": "29a4f82a44a12edcf9db5de6a3c6df9615a5799e",
      "parents": [
        "ec034b208dc8aa5dc73ec46c3f27e34c5efbf113"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri May 13 14:15:49 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:10:41 2011 -0400"
      },
      "message": "mac80211: sparse RCU annotations\n\nThis adds sparse RCU annotations to most of\nmac80211, only the mesh code remains to be\ndone.\n\nDue the the previous patches, the annotations\nare pretty simple. The only thing that this\nactually changes is removing the RCU usage of\nkey-\u003esta in debugfs since this pointer isn\u0027t\nactually an RCU-managed pointer (it only has\na single assignment done before the key even\ngoes live). As that is otherwise harmless, I\ndecided to make it part of this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1c5cae815d19ffe02bdfda1260949ef2b1806171",
      "tree": "d47a73c05afacd21985abb8df9862136385c58f0",
      "parents": [
        "e8920674979705392abc4db4ebbe78feb68a4da1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Apr 30 01:21:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 10:57:45 2011 -0700"
      },
      "message": "net: call dev_alloc_name from register_netdevice\n\nForce dev_alloc_name() to be called from register_netdevice() by\ndev_get_valid_name(). That allows to remove multiple explicit\ndev_alloc_name() calls.\n\nThe possibility to call dev_alloc_name in advance remains.\n\nThis also fixes veth creation regresion caused by\n84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "5f04d5068a90602b93a7953e9a47c496705c6976",
      "tree": "272ea087a13648cb3dd34e0feed08cfc4b1e5e2c",
      "parents": [
        "2205a6ea93fea76f88b43727fea53f3ce3790d6f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Feb 20 11:49:45 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 20 11:49:45 2011 -0800"
      },
      "message": "net: Fix more stale on-stack list_head objects.\n\nFrom: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n\nIn the beginning with batching unreg_list was a list that was used only\nonce in the lifetime of a network device (I think).  Now we have calls\nusing the unreg_list that can happen multiple times in the life of a\nnetwork device like dev_deactivate and dev_close that are also using the\nunreg_list.  In addition in unregister_netdevice_queue we also do a\nlist_move because for devices like veth pairs it is possible that\nunregister_netdevice_queue will be called multiple times.\n\nSo I think the change below to fix dev_deactivate which Eric D. missed\nwill fix this problem.  Now to go test that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2cf22b897c63df65e7360a1897e5312c58617fbd",
      "tree": "6fe5490470468b749f8d9dedd60834b0c46d2716",
      "parents": [
        "4e6975f7b8ca31febaa94a1ee1acfb5322f8a82b"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Mon Jan 31 11:30:09 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:44:43 2011 -0500"
      },
      "message": "mac80211: Recalculate channel-type on iface removal.\n\nWhen a vif goes away, it could cause the super-chan\nto be recalculated differently, so do that calculation\non iface removal.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "21f83589644bb2ed98079bf1e2154c8e70ca6a6c",
      "tree": "ede391a8c788a43f7c4ea3baa3367e020d45f179",
      "parents": [
        "c96e96354a6c9456cdf1f150eca504e2ea35301e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Dec 18 17:20:47 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 05 16:07:12 2011 -0500"
      },
      "message": "mac80211: implement hardware offload for remain-on-channel\n\nThis allows drivers to support remain-on-channel\noffload if they implement smarter timing or need\nto use a device implementation like iwlwifi.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "67408c8c7b9daf28b50e33be3541334c07d15789",
      "tree": "ac11ea966add7f7187274fcf9e647c5227099108",
      "parents": [
        "e1e5406854378dfada3f33c7192b012083a5b8e0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 30 08:59:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 22 14:33:37 2010 -0500"
      },
      "message": "mac80211: selective throughput LED trigger active\n\nThe throughput LED trigger was always active when\nthe radio was enabled. In most cases that\u0027s likely\nthe desired behaviour, but iwlwifi requires it to\nbe only active when one of the virtual interfaces\nis actually \"connected\" in some way.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e1e5406854378dfada3f33c7192b012083a5b8e0",
      "tree": "e878058f28b8f6db50ef5d73d09aed66dd9ad9f2",
      "parents": [
        "fe67c913f1ec2a01aaa9176c80ef36eaf87d705d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 30 08:58:45 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 22 14:33:37 2010 -0500"
      },
      "message": "mac80211: add throughput based LED blink trigger\n\niwlwifi and other drivers like to blink their LED\nbased on throughput. Implement this generically in\nmac80211, based on a throughput table the driver\nspecifies. That way, drivers can set the blink\nfrequencies depending on their desired behaviour\nand max throughput.\n\nAll the drivers need to do is provide an LED class\ndevice, best with blink hardware offload.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "29cbe68c516a48a9a88b3226878570c6cbd83c02",
      "tree": "4774f8a3a244236234a521baa4d1ae5b3e1494ba",
      "parents": [
        "bd90fdcc5fbd99a2a778999610420cf793bd1be2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 03 09:20:44 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:29 2010 -0500"
      },
      "message": "cfg80211/mac80211: add mesh join/leave commands\n\nInstead of tying mesh activity to interface up,\nadd join and leave commands for mesh. Since we\nmust be backward compatible, let cfg80211 handle\njoining a mesh if a mesh ID was pre-configured\nwhen the device goes up.\n\nNote that this therefore must modify mac80211 as\nwell since mac80211 needs to lose the logic to\nstart the mesh on interface up.\n\nWe now allow querying mesh parameters before the\nmesh is connected, which simply returns defaults.\nSetting them (internally renamed to \"update\") is\nonly allowed while connected. Specify them with\nthe new mesh join command instead where needed.\n\nIn mac80211, beaconing must now also follow the\nmesh enabled/not enabled state, which is done\nby testing the mesh ID.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "09b174702601079c3a04806754be30ffbd70db4d",
      "tree": "a98e00fafeb106a8d9fb3d336250bb4220be09ac",
      "parents": [
        "45904f21655cf4f0ae7d0fab5906fe51bf56ecf4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 03 09:20:41 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:28 2010 -0500"
      },
      "message": "mac80211: move mesh filter adjusting\n\nLogically, the filter adjusting belongs with\nstarting/stopping mesh, not interface up/down,\nso move it there.\n\nTested-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "352ffad646c0e0c5cf9ae8cea99710ee0d66ee27",
      "tree": "41987fe0c7e00dfc3aa6871f1a51007e42f22c03",
      "parents": [
        "fbb078fcd2fa83646ad9504d8e4c54a67b8729ae"
      ],
      "author": {
        "name": "Brian Cavagnolo",
        "email": "brian@cozybit.com",
        "time": "Thu Nov 04 16:59:28 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 08 16:53:47 2010 -0500"
      },
      "message": "mac80211: unset SDATA_STATE_OFFCHANNEL when cancelling a scan\n\nFor client STA interfaces, ieee80211_do_stop unsets the relevant\ninterface\u0027s SDATA_STATE_RUNNING state bit prior to cancelling an\ninterrupted scan.  When ieee80211_offchannel_return is invoked as\npart of cancelling the scan, it doesn\u0027t bother unsetting the\nSDATA_STATE_OFFCHANNEL bit because it sees that the interface is\ndown.  Normally this doesn\u0027t matter because when the client STA\ninterface is brought back up, it will probably issue a scan.  But\nin some cases (e.g., the user changes the interface type while it\nis down), the SDATA_STATE_OFFCHANNEL bit will remain set.  This\nprevents the interface queues from being started.  So we\ncancel the scan before unsetting the SDATA_STATE_RUNNING bit.\n\nSigned-off-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7be5086d4cb7cceb71d724a9524d5e927785d04f",
      "tree": "eaf0b7d527b9b91c704c8f339d855923c0a34571",
      "parents": [
        "271733cf844a2f5f186ef3b40c26d6397b71039a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "mac80211: add probe request filter flag\n\nUsing the frame registration notification, we\ncan see when probe requests are requested and\nnotify the low-level driver via filtering. The\nflag is also set in AP and IBSS modes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d",
      "tree": "a9284928f65ad33b3cbef9625871bb0c0116f875",
      "parents": [
        "845d708e62f08a45ff716fdb270c52585cad31d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:37:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "mac80211: avoid transmitting delBA to old AP\n\nWhen roaming while we have active BA session,\nwe can end up transmitting delBA frames to\nthe old AP while we\u0027re already on the new AP\u0027s\nchannel, which can cause warnings.\n\nSimply avoid sending those frames, but still\ntear down the internal session state, since\nthey are not really necessary anyway as we\nwill implicitly disassociate when sending the\nassociation to the new AP.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1be7fe8de9f25e173282f8f989f83bc5b5decfe9",
      "tree": "e7b45e034560f6dc0f0403d098d85e1c94a3b3e1",
      "parents": [
        "e8347ebad2f1b15bddb6ed3ed5f767531eb52dc3"
      ],
      "author": {
        "name": "Bill Jordan",
        "email": "bjordan@rajant.com",
        "time": "Fri Oct 01 11:20:41 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:25 2010 -0400"
      },
      "message": "mac80211: fix for WDS interfaces\n\nInitialize the rate table for WDS interfaces, and\nadd cases to allow WDS packets to pass the xmit and receive\ntests.\n\nSigned-off-by: Bill Jordan \u003cbjordan@rajant.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "85416a4fa193754ef36e12b20bb02fe661cb7f17",
      "tree": "45228e888bd76a5f1251c55ea28377ddedfe2914",
      "parents": [
        "5a254ffe3ffdfa84fe076009bd8e88da412180d2"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Sat Oct 02 13:17:07 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:21 2010 -0400"
      },
      "message": "mac80211: fix rx monitor filter refcounters\n\nThis patch fixes an refcounting bug. Previously it\nwas possible to corrupt the per-device recv. filter\nand monitor management counters when:\n\tiw dev wlanX set monitor [new flags]\nwas issued on an active monitor interface.\n\nAcked-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ca27bcff7127da1aa7dd39cd2a6f7cb187e327f",
      "tree": "fae1b81c56763a53d432310b8fcbb81b9bb48d7e",
      "parents": [
        "074ac8df9f93f2a35a356d92fd7f16cd846f0a03"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 16 14:58:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:46:07 2010 -0400"
      },
      "message": "mac80211: add p2p device type support\n\nWhen a driver advertises p2p device support,\nmac80211 will handle it, but internally it will\nrewrite the interface type to STA/AP rather than\nP2P-STA/GO since otherwise a lot of paths need\nto be touched that are otherwise identical. A\np2p boolean tells drivers whether or not a given\ninterface will be used for p2p or not.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d2080c3c1d52e186166afc3efe5067291e618bf",
      "tree": "e90c4bcb6320e68cceb6a1695895cceae2e14cb3",
      "parents": [
        "46a5ebaf02d69e26ee0f47a0b8d2d9bc619240d4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Sep 15 15:13:13 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:46:01 2010 -0400"
      },
      "message": "mac80211: set running state earlier\n\nWhen an interface is brought up, the recent changes\nto allow changing type-while-up only set the running\nbit after everything was done. This broke a number\nof things, including idle calculation for monitor\ninterfaces, and it also broke WDS station insertion\n(although nobody noticed yet).\n\nThus, change the code to set the running bit earlier,\nbut keep it after the driver\u0027s add_interface was\ncalled because otherwise drivers may iterate over\ninterfaces they haven\u0027t fully set up yet.\n\nReported-by: Rajkumar Manoharan \u003crmanoharan@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34d4bc4d41d282a66dafe1b01a7d46bad468cefb",
      "tree": "ac0936b00f1ebd037be32fd0e5f304f26366e6c0",
      "parents": [
        "87490f6db38999fee7f6d3dbecc5b94730c7e010"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:58 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: support runtime interface type changes\n\nAdd support to mac80211 for changing the interface\ntype even when the interface is UP, if the driver\nsupports it.\n\nTo achieve this\n * add a new driver callback for switching,\n * split some of the interface up/down code out\n   into new functions (do_open/do_stop), and\n * maintain an own __SDATA_RUNNING bit that will\n   not be set during interface type, so that any\n   other code doesn\u0027t use the interface.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "87490f6db38999fee7f6d3dbecc5b94730c7e010",
      "tree": "d32a07b51aaa9349f779af63901eec8fa267ac8c",
      "parents": [
        "bf533e0bfd77d9671adabdf134b1ac7f24bb0670"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:57 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: split out concurrent vif checks\n\nSplit the concurrent virtual interface checks\ninto a new function that can be used to check\nfor any given new interface type.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bf533e0bfd77d9671adabdf134b1ac7f24bb0670",
      "tree": "80246d2a03e3aa1b6ebea0760cb4beab67e58f3d",
      "parents": [
        "26a58456be40d8181b884eb5b4e61e3f73ba94e0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:56 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: simplify zero address checks\n\nThe libertas_tf special code for zero addresses\nis a bit too complex, it compares against a stack\nvalue instead of using is_zero_ether_addr() and\ntries to update all interfaces even if just the\none that\u0027s being brought up needs to be changed.\nAdditionally, the repeated check for a valid MAC\naddress need only be done if we actually changed\nit on the fly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b9dcf712d1fb98bf279fcd453a42a763b104961d",
      "tree": "a09aa20ca2c26dbf9439beca7c8c9a403e70c8b5",
      "parents": [
        "2337db8db845ece2d4ab7673a343e285f1bfda85"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:54 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: clean up ifdown/cleanup paths\n\nThere\u0027s a lot of redundant code in mac80211\u0027s\ninterface cleanup/down, for example freeing\nAP beacons is done both when the interface is\nset DOWN as well as when it is torn down, of\nwhich only the former has any effect.\n\nAlso, a bunch of things should be closer to\nwhere they matter, like the MLME timers that\nwe should cancel when disassociating, rather\nthan only when the interface is set DOWN.\n\nClean up all this code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a621fa4d6a7fdf9d34938d2e129a72624833eeeb",
      "tree": "1b15e9fabbec3b2bdf04f5cd60526c0154a0dcc1",
      "parents": [
        "c0692b8fe29fb4d4dad33487aabf3ed7e1e880c0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:54 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: allow changing port control protocol\n\nSome vendor specified mechanisms for 802.1X-style\nfunctionality use a different protocol than EAP\n(even if EAP is vendor-extensible). Support this\nin mac80211 via the cfg80211 API for it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0fb9a9ec27718fbf7fa3153bc94becefb716ceeb",
      "tree": "8f5d6a5fa9f2c6b8b08273dc198d6187d0a70361",
      "parents": [
        "b62177a0aa0521fd07cd7501534c0c3b256ebce6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Aug 20 16:25:38 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:17 2010 -0400"
      },
      "message": "net/mac80211: Use wiphy_\u003clevel\u003e\n\nStandardize logging messages from\n\tprintk(KERN_\u003clevel\u003e \"%s: \" fmt , wiphy_name(foo), args);\nto\n\twiphy_\u003clevel\u003e(foo, fmt, args);\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e161f78e5f63a7f9fd25a766bb7f816a01eb14a",
      "tree": "befd44feeb1f47da1f41e6fc310a223ad67030ff",
      "parents": [
        "ac4c977d16d843f12901595c91773dddb65768a9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 15:38:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:56 2010 -0400"
      },
      "message": "cfg80211/mac80211: extensible frame processing\n\nAllow userspace to register for more than just\naction frames by giving the frame subtype, and\nmake it possible to use this in various modes\nas well.\n\nWith some tweaks and some added functionality\nthis will, in the future, also be usable in AP\nmode and be able to replace the cooked monitor\ninterface currently used in that case.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7da7cc1d42d8ce02cca16df8c021e6d657f1f8fd",
      "tree": "3d18e0b36edfcc015d27f66890cf4a8d60c45bda",
      "parents": [
        "1fdaa46e9f26ccbab5e0eb8c4d4f8e1fbf32c7df"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 05 17:02:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 15:26:40 2010 -0400"
      },
      "message": "mac80211: per interface idle notification\n\nSometimes we don\u0027t just need to know whether or\nnot the device is idle, but also per interface.\nThis adds that reporting capability to mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4e6cbfd09c66893e5134c9896e9af353c2322b66",
      "tree": "274e8374c2b097058a5152da3bf6cf62d99dbad7",
      "parents": [
        "68e887ef21dfd9adcf896ef92a9676bf9036a0aa"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 29 16:14:13 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 14:39:46 2010 -0400"
      },
      "message": "mac80211: support use of NAPI for bottom-half processing\n\nThis patch implement basic infrastructure to support use of NAPI by\nmac80211-based hardware drivers.\n\nBecause mac80211 devices can support multiple netdevs, a dummy netdev\nis used for interfacing with the NAPI code in the core of the network\nstack.  That structure is hidden from the hardware drivers, but the\nactual napi_struct is exposed in the ieee80211_hw structure so that the\npoll routines in drivers can retrieve that structure.  Hardware drivers\ncan also specify their own weight value for NAPI polling.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53e9b1de6840d9047f768878adcbd1d116f72aca",
      "tree": "1926848bff27967029d24d954530f57845f36f3c",
      "parents": [
        "4ced3f74dae18715920cb680098ec7ff4345d0a3"
      ],
      "author": {
        "name": "David Gnedt",
        "email": "david.gnedt@davizone.at",
        "time": "Mon Jul 19 20:44:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 20 16:02:58 2010 -0400"
      },
      "message": "mac80211: set carrier on for monitor interfaces on ieee80211_open\n\nIf a station interface is reused as monitor interface it is possible that\nthe carrier is still set to off. This breaks packet injection on that\nmonitor interface.\nForce the carrier on in monitor interface initialisation like it is also done\nfor other interface types (e.g. adhoc, mesh point, ap).\n\nSigned-off-by: David Gnedt \u003cdavid.gnedt@davizone.at\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "875ae5f68883c75aad826e715df8ec0619551a07",
      "tree": "6fd0fb7822a5c58b210e256738756355363e5cd7",
      "parents": [
        "b807b8a16bee27eb93a3393c173ce209a992ef18"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Jul 17 15:59:07 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 20 16:02:58 2010 -0400"
      },
      "message": "mac80211: fix aggregation action frame handling with AP VLANs\n\nWhen aggregation related action frames are enqueued for further work,\nand they originate from a STA that is part of an AP VLAN, they are\ncurrently enqueued for the AP interface. This breaks the sta_info_get()\nlookup in the actual work function, and because of that, aggregation\nsessions are not established for this STA.\n\nFix this by replacing the sta_info_get call with a call to\nsta_info_get_bss.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "685429623f88d84f98bd5daffc3c427c408740d4",
      "tree": "d50f119094dd3fb7668f837dbe50857d11bb4fa3",
      "parents": [
        "5ea096c0c85e80335889539899af9a4717976e0b"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Wed Jun 09 13:43:26 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:42:31 2010 -0400"
      },
      "message": "mac80211: Fix circular locking dependency in ARP filter handling\n\nThere is a circular locking dependency when configuring the\nhardware ARP filters on association, occurring when flushing the mac80211\nworkqueue. This is what happens:\n\n[   92.026800] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   92.030507] [ INFO: possible circular locking dependency detected ]\n[   92.030507] 2.6.34-04781-g2b2c009 #85\n[   92.030507] -------------------------------------------------------\n[   92.030507] modprobe/5225 is trying to acquire lock:\n[   92.030507]  ((wiphy_name(local-\u003ehw.wiphy))){+.+.+.}, at: [\u003cffffffff8105b5c0\u003e] flush_workq\nueue+0x0/0xb0\n[   92.030507]\n[   92.030507] but task is already holding lock:\n[   92.030507]  (rtnl_mutex){+.+.+.}, at: [\u003cffffffff812b9ce2\u003e] rtnl_lock+0x12/0x20\n[   92.030507]\n[   92.030507] which lock already depends on the new lock.\n[   92.030507]\n[   92.030507]\n[   92.030507] the existing dependency chain (in reverse order) is:\n[   92.030507]\n[   92.030507] -\u003e #2 (rtnl_mutex){+.+.+.}:\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff81341754\u003e] mutex_lock_nested+0x44/0x300\n[   92.030507]        [\u003cffffffff812b9ce2\u003e] rtnl_lock+0x12/0x20\n[   92.030507]        [\u003cffffffffa022d47c\u003e] ieee80211_assoc_done+0x6c/0xe0 [mac80211]\n[   92.030507]        [\u003cffffffffa022f2ad\u003e] ieee80211_work_work+0x31d/0x1280 [mac80211]\n\n[   92.030507] -\u003e #1 ((\u0026local-\u003ework_work)){+.+.+.}:\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff8105a51a\u003e] worker_thread+0x22a/0x370\n[   92.030507]        [\u003cffffffff8105ecc6\u003e] kthread+0x96/0xb0\n[   92.030507]        [\u003cffffffff81003a94\u003e] kernel_thread_helper+0x4/0x10\n[   92.030507]\n[   92.030507] -\u003e #0 ((wiphy_name(local-\u003ehw.wiphy))){+.+.+.}:\n[   92.030507]        [\u003cffffffff81075fdc\u003e] __lock_acquire+0x1c0c/0x1d50\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff8105b60e\u003e] flush_workqueue+0x4e/0xb0\n[   92.030507]        [\u003cffffffffa023ff7b\u003e] ieee80211_stop_device+0x2b/0xb0 [mac80211]\n[   92.030507]        [\u003cffffffffa0231635\u003e] ieee80211_stop+0x3e5/0x680 [mac80211]\n\nThe locking in this case is quite complex. Fix the problem by rewriting the\nway the hardware ARP filter list is handled - i.e. make a copy of the address\nlist to the bss_conf struct, and provide that list to the hardware driver\nwhen needed.\n\nThe current patch will enable filtering also in promiscuous mode. This may need\nto be changed in the future.\n\nReported-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a93e364430de7f7a5f4eedd604ad1ab3d825dde5",
      "tree": "441f0f69dc5b08d79c5f5f4e7adae88ad18dbd86",
      "parents": [
        "f955ebb44798e0058c987a0817810d2542e87349"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:46 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: change RX aggregation locking\n\nTo prepare for allowing drivers to sleep in\nampdu_action, change the locking in the RX\naggregation code to use a mutex, so that it\nwould already allow drivers to sleep. But\nexplicitly disable BHs around the callback\nfor now since the TX part cannot yet sleep,\nand drivers\u0027 locking might require it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c1475ca99edcc7216ddc45838ab2c3281c14ba22",
      "tree": "3f1a5fd9c2fce428382cf49e3140c281a49e006b",
      "parents": [
        "344eec67c7b8557234e149d254bca2ae9614d61e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:37 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: move aggregation callback processing\n\nThis moves the aggregation callback processing\nto the per-sdata skb queue and a work function\nrather than the tasklet.\n\nUnfortunately, this means that it extends the\npkt_type hack to that skb queue. However, it\nwill enable making ampdu_action API changes\ngradually, my current plan is to get rid of\nthis again by forcing drivers to only return\nfrom ampdu_action() when everything is done,\nthus removing the callbacks completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "344eec67c7b8557234e149d254bca2ae9614d61e",
      "tree": "a7243e1f8c67adf535be457b4ccccb212259f41c",
      "parents": [
        "bed7ee6e44cb7633a4f9821688a6c7ae977615ed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:36 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: move blockack stop due to fragmentation\n\nThere\u0027s a corner case where we receive a fragmented\nframe during a blockack session, in which case we\nwill terminate that session. To simplify future work\nin this area that will culminate in allowing the\ndriver callbacks for aggregation to sleep, move the\nprocessing of this case out of the RX path into the\ninterface work.\n\nThis will simplify future work because the new place\nfor this code doesn\u0027t require that the function will\nalways be atomic, which the RX path needs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bed7ee6e44cb7633a4f9821688a6c7ae977615ed",
      "tree": "0c4997408d74abbde021b11b6b1046d815524e15",
      "parents": [
        "77a121c3a88eb00a4b5e753d083dbb7d49fefb0a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:26 2010 -0400"
      },
      "message": "mac80211: always process blockack action from workqueue\n\nTo prepare for making the ampdu_action callback\nsleep, make mac80211 always process blockack\naction frames from the skb queue. This gets rid\nof the current special case for managed mode\ninterfaces as well.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "36b3a628a4e85d002ee8813ebd2a5caef6d3c1a7",
      "tree": "927219d1cf6ef466ec574c8172365fa1b37d53be",
      "parents": [
        "1fa57d017366fb26b58af110a38b36a4f0214a62"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:33 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:26 2010 -0400"
      },
      "message": "mac80211: common work skb freeing\n\nAll the management processing functions free the\nskb after they are done, so this can be done in\nthe new common code instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1fa57d017366fb26b58af110a38b36a4f0214a62",
      "tree": "9bf7e82b3e429908498a70aa5c75c2af06b261b6",
      "parents": [
        "64592c8fc0e99d445fc3fdedddeb6088e20086f1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:32 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:17 2010 -0400"
      },
      "message": "mac80211: use common work function\n\nEven with the previous patch, IBSS, managed\nand mesh modes all attach their own work\nfunction to the shared work struct, which\nmeans some duplicated code. Change that to\nonly have a frame processing function and a\nfurther work function for each of them and\nshare some common code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "64592c8fc0e99d445fc3fdedddeb6088e20086f1",
      "tree": "2493358821abc4050b25f8a0bd813b763b188d38",
      "parents": [
        "35f20c14a103ca2c7062999e934a513b83d84de6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:31 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:17 2010 -0400"
      },
      "message": "mac80211: use common work struct\n\nIBSS, managed and mesh modes all have their\nown work struct, and in the future we want\nto also use it in other modes to process\nframes from the now common skb queue.\n\nThis also makes the skb queue and work safe\nto use from other interface types.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "35f20c14a103ca2c7062999e934a513b83d84de6",
      "tree": "780e5dd272b685d7b82fdd849b886553d203c430",
      "parents": [
        "2a419056c15478d2df3f3e9d4fa64e34eb1faa7d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:17 2010 -0400"
      },
      "message": "mac80211: use common skb queue\n\nIBSS, managed and mesh modes all have an\nskb queue, and in the future we want to\nalso use it in other modes, so make them\nall use a common skb queue already.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a419056c15478d2df3f3e9d4fa64e34eb1faa7d",
      "tree": "680342d6b883c18eec9003f2b93abd8ffd1e6ae6",
      "parents": [
        "9d38d85de0270e3927bffab94973a9c78d1dc800"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:16 2010 -0400"
      },
      "message": "mac80211: simplify station/aggregation code\n\nA number of places use RCU locking for accessing\nthe station list, even though they do not need\nto. Use mutex locking instead to prepare for the\nlocking changes I want to make. The mlme code is\nalso using a WLAN_STA_DISASSOC flag that has the\nsame meaning as WLAN_STA_BLOCK_BA, so use that.\n\nWhile doing so, combine places where we loop\nover stations twice, and optimise away some of\nthe loops by checking if the hardware supports\naggregation at all first.\n\nAlso fix a more theoretical race condition: right\nnow we could resume, set up an aggregation session,\nand right after tear it down again due to the code\nthat is needed for hardware reconfiguration here.\nAlso mark add a comment to that code marking it as\na workaround.\n\nFinally, remove a pointless aggregation disabling\nloop when an interface is stopped, directly after\nthat we remove all stations from it which will also\ndisable all aggregation sessions that may still be\nactive, and does so in a race-free way unlike the\ncurrent loop that doesn\u0027t block new sessions.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ad0e2b5a00dbec303e4682b403bb6703d11dcdb2",
      "tree": "b7aeb06a284af0cfb4aa1de840592478b373f554",
      "parents": [
        "efe4c457a1d4e56840c42bf2e409dc04e8ad4304"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jun 01 10:19:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:46 2010 -0400"
      },
      "message": "mac80211: simplify key locking\n\nSince I recently made station management able\nto sleep, I can now rework key management as\nwell; since it will no longer need a spinlock\nand can also use a mutex instead, a bunch of\ncode to allow drivers\u0027 set_key to sleep while\nkey management is protected by a spinlock can\nnow be removed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e0961f112cd88176acc6d1af6ca6352f85cdf993",
      "tree": "084acde7dd4f3ca8b3a27dd8de03191ef8a97450",
      "parents": [
        "761ab470364b550c9b1a5e1e31be51d415aaf42b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri May 28 14:48:52 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:45 2010 -0400"
      },
      "message": "mac80211: remove useless work starting\n\nEver since we use only cfg80211 for configuration,\nthere is no configuration that could be pending at\nthis point, cfg80211 will have the configuration\nthat is pending and apply it afterwards.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "1e4dcd012423b6a28f968a55886d2b27896a1586",
      "tree": "c2eadaf6a33175840b2f5d8fb7dd6af1d5be76ed",
      "parents": [
        "43ead78ac48b75aaf47de96fcf10cbf5962f32a6"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Fri Mar 19 07:14:53 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 23 16:51:42 2010 -0400"
      },
      "message": "mac80211: Add support for connection monitor in hardware\n\nThis patch is based on a RFC patch by Kalle Valo.\n\nThe wl1271 has a feature which handles the connection monitor logic\nin hardware, basically sending periodically nullfunc frames and reporting\nto the host if AP is lost, after attempting to recover by sending\nprobe-requests to the AP.\n\nAdd support to mac80211 by adding a new flag IEEE80211_HW_CONNECTION_MONITOR\nwhich prevents conn_mon_timer from triggering during idle periods, and\nprevents sending probe-requests to the AP if beacon-loss is indicated by the\nhardware.\n\nCc: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fa9029f8c34576e121a4b6ddbbd645081fe50c74",
      "tree": "0b098868b2d6f9db43c8342b2d2a1df99f3ccd3f",
      "parents": [
        "df13cce53a7b28a81460e6bfc4857e9df4956141"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Feb 25 15:13:11 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 09 15:03:07 2010 -0500"
      },
      "message": "mac80211: use different MAC addresses for virtual interfaces\n\nDrivers can now advertise to cfg80211 that they have\nmultiple MAC addresses reserved for a device, but we\ndon\u0027t currently make use of that in mac80211.\n\nChange that and assign different addresses to new\nvirtual interfaces (if addresses are available) in\norder to make it easier for users to use multiple\nvirtual interfaces; they no longer need to always\nassign a new MAC address manually.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2f5265e6e785b2a666dd985ea157bc8c260be8fa",
      "tree": "ce12947c600cc0e6de2cf0cab57cb518b09b907c",
      "parents": [
        "f318d658decb5789cfbb43041daf3dc3aade1df0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Feb 12 10:45:05 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 15 16:12:52 2010 -0500"
      },
      "message": "mac80211: fix netdev rename\n\nFix a copy bug introduced by\n\n    commit 47846c9b0c10808d9337d2e7d09361f3e0a0a71a\n    Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n    Date:   Wed Nov 25 17:46:19 2009 +0100\n\n        mac80211: reduce reliance on netdev\n\nThis manifested itself only in debug messages\nand in the debugfs rename failure that would\nalways happen due to trying to rename the dir\nover itself.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "861a57cd01f97e984320b5aeeee019ede48c714d",
      "tree": "aeb4997f87d97299bad1563bc93b6ec2df015e06",
      "parents": [
        "031cf0e94c9c8302a4592707939d6c2039f17f28"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Jan 12 04:08:26 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:07 2010 -0500"
      },
      "message": "mac80211: fix WMM AC default for non-QoS data frames\n\nThe WMM AC selection added to the monitor mode selection function\naccidentally assigns non-QoS data frames to the same AC as mgmt frames\n(VO). This is not serious, but should be fixed anyway. This patch\nassigns them to the BE AC instead.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "031cf0e94c9c8302a4592707939d6c2039f17f28",
      "tree": "02f3f0d3f89f03217bdb83530af30a95c9ab6191",
      "parents": [
        "730dd70549e0ec755dd55615ba5cfc38a482a947",
        "ad580db50ee8dccd069ffcd76d6f70fa6d4a62a8"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 15:58:41 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 15:58:41 2010 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "37eb0b164cf9fa9f70c8500926f5cde7c652f48e",
      "tree": "9260e7045f32268c8c4ded718677711d371cd5ed",
      "parents": [
        "e00cfce0cb2a397859607bf515c6de9ce064b64a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed Jan 06 13:09:08 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:11 2010 -0500"
      },
      "message": "cfg80211/mac80211: Use more generic bitrate mask for rate control\n\nExtend struct cfg80211_bitrate_mask to actually use a bitfield mask\ninstead of just a single fixed or maximum rate index. This change\nitself does not modify the behavior (except for debugfs files), but it\nprepares cfg80211 and mac80211 for a new nl80211 command for setting\nwhich rates can be used in TX rate control.\n\nSince frames are now going through the rate control algorithm\nunconditionally, the internal IEEE80211_TX_INTFL_RCALGO flag can now\nbe removed. The RC implementations can use the rate_idx_mask value to\noptimize their behavior if only a single rate is enabled.\n\nThe old max_rate_idx in struct ieee80211_tx_rate_control is maintained\n(but commented as deprecated) for backwards compatibility with existing\nRC implementations. Once these implementations have been updated to\nuse the more generic rate_idx_mask, the max_rate_idx value can be\nremoved.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "193e70ef65a6c33f2935ce1f4adeb08ecb9202cf",
      "tree": "f079d1fe437bb9cd1f69ace985114e074c65a023",
      "parents": [
        "39825f4dc9f4e409e8ea43ef4df04a924699ad1f"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Jan 11 06:47:00 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 11 19:37:09 2010 -0500"
      },
      "message": "mac80211: fix queue selection for data frames on monitor interfaces\n\nWhen ieee80211_monitor_select_queue encounters data frames, it selects\nthe WMM AC based on skb-\u003epriority and assumes that skb-\u003epriority\ncontains a valid 802.1d tag. However this assumption is incorrect, since\nieee80211_select_queue has not been called at this point.\nIf skb-\u003epriority \u003e 7, an array overrun occurs, which could lead to\ninvalid values, resulting in crashes in the tx path.\nFix this by setting skb-\u003epriority based on the 802.11 header for QoS\nframes and using the default AC for all non-QoS frames.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b49bb574e44226b332c28439999d196ddec2f643",
      "tree": "39343a3c05998f27408af743c99d1f1795d28595",
      "parents": [
        "d79074488083ec0d7ecd15352192dc1631f25643"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 08 19:00:00 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 08 15:49:29 2010 -0500"
      },
      "message": "mac80211: fix endian error\n\nI forgot to convert the radiotap length to\nCPU endian, which sparse found thankfully.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "045cfb71a3901005bf6dcedae98cecb3360a0bfc",
      "tree": "ab237ace8b3e71cc7ac2e5a8a7f6b79a7a959bf2",
      "parents": [
        "8a5b33f55452c226aa0e47d737e541985ff10e16"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Thu Jan 07 15:01:42 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 08 15:49:15 2010 -0500"
      },
      "message": "mac80211: fix queue selection for packets injected via monitor interface\n\nCommit \u0027mac80211: fix skb buffering issue\u0027 added an -\u003endo_select_queue()\nfor monitor interfaces which can end up dereferencing ieee802_1d_to_ac[]\nbeyond the end of the array for injected data packets (as skb-\u003epriority\nisn\u0027t guaranteed to be zero or within [0:7]), which then triggers the\nWARN_ON in net/core/dev.c:dev_cap_txqueue().  Fix this by always setting\nthe priority to zero on injected data frames.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cfa6cb2048beb35ae7f1d2fa19160aab240557d1",
      "tree": "9f3215138783d7a6cfd341e51495c1c2a725cfb4",
      "parents": [
        "8271195e38d01f3551bb10b1c7de856cd8507882",
        "8a5b33f55452c226aa0e47d737e541985ff10e16"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 06 17:22:54 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 06 17:26:13 2010 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tnet/mac80211/scan.c\n\tnet/mac80211/wme.c\n"
    },
    {
      "commit": "8a5b33f55452c226aa0e47d737e541985ff10e16",
      "tree": "f59eef010705957107ba45bca3f56a861b0e155e",
      "parents": [
        "debde9ea24d5512400456b1b64df361e422f078d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 06 15:39:39 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 06 16:16:39 2010 -0500"
      },
      "message": "Revert \"mac80211: replace netif_tx_{start,stop,wake}_all_queues\"\n\nThis reverts commit 53623f1a09c7a7d23b74f0f7d93dba0ebde1006b.\n\nThis was inadvertantly missed in \"mac80211: fix skb buffering issue\",\nand is required with that patch to restore proper queue operation.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4f9b2a7dea2bf1dd81f280aa5e8a40ed910d2f0a",
      "tree": "52046049957a87103a383869155f43461963f089",
      "parents": [
        "f3f66b69c8ff08b46975d9e99c7ecb92a8b12eda",
        "7a4a77b7771164d61ce702a588067d1e1d66db7c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:18:59 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:18:59 2010 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tnet/mac80211/iface.c\n"
    },
    {
      "commit": "fc5f75773c0b3c5b44785e4efcc54c5f496211a9",
      "tree": "56789050d60906ffcccf29355e41a347747071ba",
      "parents": [
        "1990ca6113399be9249433d5ab377a2a444f1dd8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Wed Dec 30 15:54:03 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:13:16 2010 -0500"
      },
      "message": "mac80211: fix ieee80211_change_mac() to use struct sockaddr\n\nSetting the mac address from user space was buggy. For example, when\nexecuting this command:\n\nip link set wlan0 address 00:1f:df:88:cd:55\n\nmac80211 used the address 01:00:00:1f:df:88 instead. It was shifted two\nbytes.\n\nThe reason was that the addr (type of void *) provided to\nieee80211_change_mac() is actually of type struct sockaddr, not just the\nmac address array. Also the call to eth_mac_addr() expects the address to\nbe struct sockaddr.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf0277e714a0db302a8f80e1b85fd61c32cf00b3",
      "tree": "b81c34eabc2560b804cfd59497ca2902f0d47a80",
      "parents": [
        "301a8234ea81938f0f083ae4e274d9c9296f3c86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 05 18:00:58 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 16:21:40 2010 -0500"
      },
      "message": "mac80211: fix skb buffering issue\n\nSince I removed the master netdev, we\u0027ve been\nkeeping internal queues only, and even before\nthat we never told the networking stack above\nthe virtual interfaces about congestion. This\nmeans that packets are queued in mac80211 and\nthe upper layers never know, possibly leading\nto memory exhaustion and other problems.\n\nThis patch makes all interfaces multiqueue and\nuses ndo_select_queue to put the packets into\nqueues per AC. Additionally, when the driver\nstops a queue, we now stop all corresponding\nqueues for the virtual interfaces as well.\n\nThe injection case will use VO by default for\nnon-data frames, and BE for data frames, but\ndowngrade any data frames according to ACM. It\nneeds to be fleshed out in the future to allow\nchosing the queue/AC in radiotap.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org [2.6.32]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b",
      "tree": "81697637a36eb4776df39c81a77a9e09ec951a1a",
      "parents": [
        "98b6218388e345064c3f2d3c161383a18274c638"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:45 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:07 2009 -0500"
      },
      "message": "mac80211: remove struct ieee80211_if_init_conf\n\nAll its members (vif, mac_addr, type) are now available\nin the vif struct directly, so we can pass that instead\nof the conf struct. I generated this patch (except the\nmac80211 and header file changes) with this semantic\npatch:\n\n@@\nidentifier conf, fn, hw;\ntype tp;\n@@\ntp fn(struct ieee80211_hw *hw,\n-struct ieee80211_if_init_conf *conf)\n+struct ieee80211_vif *vif)\n{\n\u003c...\n(\n-conf-\u003etype\n+vif-\u003etype\n|\n-conf-\u003emac_addr\n+vif-\u003eaddr\n|\n-conf-\u003evif\n+vif\n)\n...\u003e\n}\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af6b63741cc4e4dfd575d06beb333b11a8a6e0c0",
      "tree": "a2c1a27b6b6b0fb171606f3653b5c280537b32a3",
      "parents": [
        "f679f65d417c3ea3f91b4bbfb68e3951c9eb8f04"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:55 2009 -0500"
      },
      "message": "mac80211: generalise work handling\n\nIn order to use auth/assoc for different purposes\nother than MLME, it needs to be split up. For other\npurposes, a generic work handling (potentially on\nanother channel) will be useful.\n\nTo achieve that, this patch moves much of the MLME\nwork handling out of mlme into a new work API. The\nAPI can currently handle probing a specific AP,\nauthentication and association. The MLME previously\nhandled probe/authentication as one step and will\ncontinue to do so, but they are separate in the new\nwork handling.\n\nWork items are RCU-managed to be able to check for\nexistence of an item for a specific frame in the RX\npath, but they can be re-used which the MLME right\nnow will do for its combined probe/auth step.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a80f7c0b088187c8471b441d461e937991870661",
      "tree": "f673c08009a03f2e988a638510b112a5584bea11",
      "parents": [
        "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:32 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:51 2009 -0500"
      },
      "message": "mac80211: introduce flush operation\n\nWe\u0027ve long lacked a good confirmation that frames\nhave really gone out, e.g. before going off-channel\nfor a scan. Add a flush() operation that drivers\ncan implement to provide that confirmation, and use\nit in a few places:\n * before scanning sends the nullfunc frames\n * after scanning sends the nullfunc frames, if any\n * when going idle, to send any pending frames\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d",
      "tree": "706cb2c2db2df69fa446eb3848b27107b67f2d25",
      "parents": [
        "d30506e0357e5448c7d38bb3739c451dbe4c174e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:49 2009 -0500"
      },
      "message": "mac80211: add ieee80211_sdata_running\n\nInstead of always using netif_running(sdata-\u003edev)\nuse ieee80211_sdata_running(sdata) now which is\njust an inline containing netif_running() for now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "efe117ab8114f47f317b4803e5bc0104420bcba2",
      "tree": "25c06fcd2a56feb8831930043ce89b0700481035",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 05 11:06:40 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 25 13:49:49 2009 -0500"
      },
      "message": "mac80211: Speedup ieee80211_remove_interfaces()\n\nSpeedup ieee80211_remove_interfaces() by factorizing synchronize_rcu() calls\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9bc383de37090ba7ca3ff32a12c9d809dc5867f0",
      "tree": "2b502b918f585427b45357e5a9a781ea9f06c263",
      "parents": [
        "5be83de54c16944dea9c16c6a5a53c1fa75ed304"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 19 11:55:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 19 11:08:53 2009 -0500"
      },
      "message": "cfg80211: introduce capability for 4addr mode\n\nIt\u0027s very likely that not many devices will support\nfour-address mode in station or AP mode so introduce\ncapability bits for both modes, set them in mac80211\nand check them when userspace tries to use the mode.\nAlso, keep track of 4addr in cfg80211 (wireless_dev)\nand not in mac80211 any more. mac80211 can also be\nimproved for the VLAN case by not looking at the\n4addr flag but maintaining the station pointer for\nit correctly. However, keep track of use_4addr for\nstation mode in mac80211 to avoid all the derefs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f14543ee4d0681df1377b976cba704557ba220d3",
      "tree": "f148485869f6638030207c069742c1918647be6a",
      "parents": [
        "8b787643ca0a5130c647109d77fe512f89cfa611"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Nov 10 20:10:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 11 17:02:10 2009 -0500"
      },
      "message": "mac80211: implement support for 4-address frames for AP and client mode\n\nIn some situations it might be useful to run a network with an\nAccess Point and multiple clients, but with each client bridged\nto a network behind it. For this to work, both the client and the\nAP need to transmit 4-address frames, containing both source and\ndestination MAC addresses.\nWith this patch, you can configure a client to communicate using\nonly 4-address frames for data traffic.\nOn the AP side you can enable 4-address frames for individual\nclients by isolating them in separate AP VLANs which are configured\nin 4-address mode.\nSuch an AP VLAN will be limited to one client only, and this client\nwill be used as the destination for all traffic on its interface,\nregardless of the destination MAC address in the packet headers.\nThe advantage of this mode compared to regular WDS mode is that it\u0027s\neasier to configure and does not require a static list of peer MAC\naddresses on any side.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0869aea0eb711982cd2b8bebf41b3c0191c89cde",
      "tree": "a20075f5e675be3d50720ac528db52de5cb2fd56",
      "parents": [
        "6a86b9c78ebd0397eb953493c68ea9e194e7023c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Oct 28 10:03:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:20 2009 -0400"
      },
      "message": "mac80211: remove RX_FLAG_RADIOTAP\n\nWhile there may be a case for a driver adding its\nown bits of radiotap information, none currently\ndoes. Also, drivers would have to copy the code\nto generate the radiotap bits that now mac80211\ngenerates. If some driver in the future needs to\nadd some driver-specific information I\u0027d expect\nthat to be in a radiotap vendor namespace and we\ncan add a different way of passing such data up\nand having mac80211 include it.\n\nAdditionally, rename IEEE80211_CONF_RADIOTAP to\nIEEE80211_CONF_MONITOR since it\u0027s still used by\nb43(legacy) to obtain per-frame timestamps.\n\nThe purpose of this patch is to simplify the RX\ncode in mac80211 to make it easier to add paged\nskb support.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53623f1a09c7a7d23b74f0f7d93dba0ebde1006b",
      "tree": "b057e1ce55e81191c0eb002dc146e9c788eb4a00",
      "parents": [
        "e5e2647fd6ceef2cdc479954b84517535eb7febd"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 15 15:10:16 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:48:18 2009 -0400"
      },
      "message": "mac80211: replace netif_tx_{start,stop,wake}_all_queues\n\nReplace netif_tx_{start,stop,wake}_all_queues with the single-queue\nequivalents (i.e. netif_{start,stop,wake}_queue).  Since we are down to\na single queue, these should peform slightly better.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0adc23f58e21cb47be998063ea1b82de33ccdd46",
      "tree": "3cab85dd2b4b8b78360d5be0ade54ef112159df3",
      "parents": [
        "ff9fc791940f9ff51387c35f9332efe5007154f1"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 06 16:27:18 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 07 16:39:48 2009 -0400"
      },
      "message": "mac80211: support ETHTOOL_GPERMADDR\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "053a93dd126f68ba37973f95f00af6045fa7c957",
      "tree": "2ecb601cf6ea7bb9c2f14649e2edcab06b7b1027",
      "parents": [
        "7ffbe3fdace0bdfcdab8dc6c77506feda0871f79"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Oct 02 05:15:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 05 00:43:34 2009 -0700"
      },
      "message": "cfg80211: assign device type in netdev notifier callback\n\nInstead of having to modify every non-mac80211 for device type assignment,\ndo this inside the netdev notifier callback of cfg80211. So all drivers\nthat integrate with cfg80211 will export a proper device type.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "384912ed194e43c03ad1cdaa09b0b1e488c34d46",
      "tree": "bdaae15252819543cff0900941238d2b99bb2300",
      "parents": [
        "f510c35de0e63e1066db83d2fdce99e6dbde0c80"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 31 21:08:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:55 2009 -0700"
      },
      "message": "net: Add DEVTYPE support for Ethernet based devices\n\nThe Ethernet framing is used for a lot of devices these days. Most\nprominent are WiFi and WiMAX based devices. However for userspace\napplication it is important to classify these devices correctly and\nnot only see them as Ethernet devices. The daemons like HAL, DeviceKit\nor even NetworkManager with udev support tries to do the classification\nin userspace with a lot trickery and extra system calls. This is not\ngood and actually reaches its limitations. Especially since the kernel\ndoes know the type of the Ethernet device it is pretty stupid.\n\nTo solve this problem the underlying device type needs to be set and\nthen the value will be exported as DEVTYPE via uevents and available\nwithin udev.\n\n  # cat /sys/class/net/wlan0/uevent\n  DEVTYPE\u003dwlan\n  INTERFACE\u003dwlan0\n  IFINDEX\u003d5\n\nThis is similar to subsystems like USB and SCSI that distinguish\nbetween hosts, devices, disks, partitions etc.\n\nThe new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual\ndevice type. All device types are free form, but for convenience the\nsame strings as used with RFKILL are choosen.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15db0b7fd872b0312033666d3a82e1214a227ec0",
      "tree": "0c853f69292d085fac68e0cf5098b484fde9d13c",
      "parents": [
        "6bd5f5208fac04d00325b458355e4a4abda76595"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 25 16:33:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:45 2009 -0400"
      },
      "message": "mac80211: fix scan cancel on ifdown\n\nWhen an interface is taken down while a scan is\npending -- i.e. a scan request was accepted but\nnot yet acted upon due to other work being in\nprogress -- we currently do not properly cancel\nthat scan and end up getting stuck. Fix this by\ndoing better checks when an interface is taken\ndown.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea77f12f2cc0f31168f2e0259e65a22202ac4dc2",
      "tree": "8ac1288e1680ae2b6093b4fdca978a4ea86f7e21",
      "parents": [
        "3d54d25515838543e56889aa7e48f40d00719368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 21 14:44:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:34 2009 -0400"
      },
      "message": "mac80211: remove tasklet enable/disable\n\nDue to the way the tasklets work in mac80211 there\u0027s\nno need to ever disable them.\n\nHowever, we need to clear the pending packets when\ntaking down the last interface because otherwise\nthe tx_pending_tasklet might be queued if the\ndriver mucks with the queues (which it shouldn\u0027t).\n\nI\u0027ve had a situation occasionally with ar9170 in\nwhich ksoftirq was using 100% CPU time because\na disabled tasklet was scheduled, and I think that\nwas due to ar9170 receiving a packet while the\ntasklet was disabled. That\u0027s strange and it really\nshould not do that for other reasons, but there\u0027s\nno need to waste that much CPU time over it, it\nshould just warn instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "84f6a01ce05fa671f7745b6e041e698a2d1f1341",
      "tree": "9d27eb23cf2c310b572193cbef290b6b84eb0259",
      "parents": [
        "5eb6ba83aa326e2f2cf9109d20df5d6a497b36bb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Aug 20 20:02:20 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:25 2009 -0400"
      },
      "message": "mac80211: fix configure_filter invocation after stop\n\nSince configure_filter can sleep now, any multicast\nconfiguration needed to be postponed to a work struct.\nThis, however, lead to a problem that we could queue\nthe work, stop the device and then afterwards invoke\nconfigure_filter which may lead to driver hangs and is\na bug. To fix this, we can just cancel the filter work\nsince it\u0027s unnecessary to do after stopping the hw.\n\nSince there are various places that call drv_stop, and\ntwo of them do very similar things, the code for them\ncan be put into a shared function at the same time.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReported-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nTested-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ac64beecd27400d12cc7afb4108eef26c499f6a",
      "tree": "da0220085f68e30fe61ba9b8833dc6311d6dc25e",
      "parents": [
        "ea416a793d2b611f22b42ba094fd2e5bd30fff43"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:16:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: allow configure_filter callback to sleep\n\nOver time, a whole bunch of drivers have come up\nwith their own scheme to delay the configure_filter\noperation to a workqueue. To be able to simplify\nthings, allow configure_filter to sleep, and add\na new prepare_multicast callback that drivers that\nneed the multicast address list implement. This new\ncallback must be atomic, but most drivers either\ndon\u0027t care or just calculate a hash which can be\ndone atomically and then uploaded to the hardware\nnon-atomically.\n\nA cursory look suggests that at76c50x-usb, ar9170,\nmwl8k (which is actually very broken now), rt2x00,\nwl1251, wl1271 and zd1211 should make use of this\nnew capability.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3b90ca28412fb9dcc8c5ca38e179e78fec07eee",
      "tree": "fa17113d9d7c96edc076b3f46558e8c3fb78d673",
      "parents": [
        "e48e3a2f17f189deb086ff221e489e7fd8ec4302"
      ],
      "author": {
        "name": "Igor Perminov",
        "email": "igor.perminov@inbox.ru",
        "time": "Tue Aug 04 16:48:51 2009 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:35 2009 -0400"
      },
      "message": "mac80211: FIF_PSPOLL filter flag\n\nWhen an interface is configured in the AP mode, the mac80211\nimplementation doesn\u0027t inform the driver to receive PS Poll frames.\nIt leads to inability to communicate with power-saving stations\nreliably.\nThe FIF_CONTROL flag isn\u0027t passed by mac80211 to\nieee80211_ops.configure_filter when an interface is in the AP mode.\nAnd it\u0027s ok, because we don\u0027t want to receive ACK frames and other\ncontrol ones, but only PS Poll ones.\n\nThis patch introduces the FIF_PSPOLL filter flag in addition to\nFIF_CONTROL, which means for the driver \"pass PS Poll frames\".\n\nThis flag is passed to the driver:\nA) When an interface is configured in the AP mode.\nB) In all cases, when the FIF_CONTROL flag was passed earlier (in\naddition to it).\n\nSigned-off-by: Igor Perminov \u003cigor.perminov@inbox.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "42935ecaf4e784d0815afa9a7e5fe7e141157ca3",
      "tree": "dc0a0dcfff761e98d8a2a23a7edc8f9182c2774c",
      "parents": [
        "64344d78228f6346a0462ba2d5fc03494aef4e6b"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Jul 29 20:08:07 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:14 2009 -0400"
      },
      "message": "mac80211: redefine usage of the mac80211 workqueue\n\nThe mac80211 workqueue exists to enable mac80211 and drivers\nto queue their own work on a single threaded workqueue. mac80211\ntakes care to flush the workqueue during suspend but we never\nreally had requirements on drivers for how they should use\nthe workqueue in consideration for suspend.\n\nWe extend mac80211 to document how the mac80211 workqueue should\nbe used, how it should not be used and finally move raw access to\nthe workqueue to mac80211 only. Drivers and mac80211 use helpers\nto queue work onto the mac80211 workqueue:\n\n  * ieee80211_queue_work()\n  * ieee80211_queue_delayed_work()\n\nThese helpers will now warn if mac80211 already completed its\nsuspend cycle and someone is trying to queue work. mac80211\nflushes the mac80211 workqueue prior to suspend a few times,\nbut we haven\u0027t taken the care to ensure drivers won\u0027t add more\nwork after suspend. To help with this we add a warning when\nsomeone tries to add work and mac80211 already completed the\nsuspend cycle.\n\nDrivers should ensure they cancel any work or delayed work\nin the mac80211 stop() callback.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "57c9fff3d0c5d77bc7910717faeca4e8a018b1ee",
      "tree": "ce285fab9cb8faeab42b765e8a913fa790c3f46c",
      "parents": [
        "0b3acfa71a50a1fa1fcee528aa15404ea4ea0877"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 29 15:46:21 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:43:25 2009 -0400"
      },
      "message": "mac80211: fix sparse warnings/errors\n\nsparse complains about a shadowed variable, which\nwe can just rename, and lots of stuff if the API\ntracer is enabled, so kick out the tracer code in\na sparse run -- the macros just confuse it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "97af743207466ff8b477e14bfb7af0ba2c93375b",
      "tree": "9fc275981b34346284c1aedd370c54854f5369ae",
      "parents": [
        "ad2f34b41fd6e2b84c896ccf321d5de0a7c7cd52"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Wed Jul 29 10:13:03 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:43:23 2009 -0400"
      },
      "message": "mac80211: disable beacons before removing the associated interface\n\nWhen downing interfaces, it\u0027s a good idea to tell the driver to\nstop sending beacons; that way the driver doesn\u0027t need special\ncode in ops-\u003eremove_interface() when it should already handle the\ncase in bss_info_changed().\n\nThis fixes a potential crash with at least ath5k since the vif\npointer will be nullified while beacon interrupts are still active.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a9a11622c5c742c115fad371c0397ae86dd3bb67",
      "tree": "747d04a77d4411886befb5701322fa06da90a0fb",
      "parents": [
        "1f9298f96082692bdfe73af6fc2167f627f21647"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 12:01:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 15:46:20 2009 -0400"
      },
      "message": "cfg80211: self-contained wext handling where possible\n\nFinally! This is what you\u0027ve all been waiting for!\n\nThis patch makes cfg80211 take care of wext emulation\n_completely_ by itself, drivers that don\u0027t need things\ncfg80211 doesn\u0027t do yet don\u0027t even need to be aware of\nwireless extensions.\nThis means we can also clean up mac80211\u0027s and iwm\u0027s\nKconfig and make it possible to build them w/o wext\nnow!\n\n\t\tRIP wext.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fbe9c429f195111bbf7f1630efa19aee295fd8e7",
      "tree": "80556ac48bfa0e7d60db63e6c71b0bbf58143263",
      "parents": [
        "2fb3f028a9a46bd344329766257699b4acb36525"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Jul 23 12:14:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:16 2009 -0400"
      },
      "message": "mac80211: Replace {sw, hw}_scanning variables with a bitfield\n\nUse a bitfield to store the current scan mode instead of two boolean\nvariables {sw,hw}_scanning. This patch does not introduce functional\nchanges but allows us to enhance the scan flags later (for example\nfor background scanning).\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a272a720660059c30fa038113b77fa2a096437d9",
      "tree": "57da6a50b0a9a0d68fafe98f621fff15a2b8bd94",
      "parents": [
        "463d018323851a608eef52a9427b0585005c647f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 14 00:33:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:08 2009 -0400"
      },
      "message": "mac80211: allow using network namespaces\n\nThis finally opens up the ability to put mac80211 devices\ninto different network namespaces. As long as you don\u0027t\nhave sysfs, that is.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5061b0c2b9066de426fbc63f1278d2210e789412",
      "tree": "4658cb1a75c2ac37e2eebb3dd67cb3c975297b1f",
      "parents": [
        "70034918930d2e5b68c09bced637228c50d9561a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 14 00:33:34 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:06 2009 -0400"
      },
      "message": "mac80211: cooperate more with network namespaces\n\nThere are still two places in mac80211 that hardcode\nthe initial net namespace (init_net). One of them is\nmandated by cfg80211 and will be removed by a separate\npatch, the other one is used for finding the network\ndevice of a pending packet via its ifindex.\n\nRemove the latter use by keeping track of the device\npointer itself, via the vif pointer, and avoid it\ngoing stale by dropping pending frames for a given\ninterface when the interface is removed.\n\nTo keep track of the vif pointer for the correct\ninterface, change the info-\u003econtrol.vif pointer\u0027s\ninternal use to always be the correct vif, and only\nmove it to the vif the driver expects (or NULL for\nmonitor interfaces and injected packets) right before\ngiving the packet to the driver.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150",
      "tree": "a19fcddbf28fecdbd13ad009fe07b8afc5e95c90",
      "parents": [
        "c4029083e2acb82229c43b791c07afb089d972ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 17:43:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:30 2009 -0400"
      },
      "message": "mac80211: remove master netdev\n\nWith the internal \u0027pending\u0027 queue system in place, we can simply\nput packets there instead of pushing them off to the master dev,\ngetting rid of the master interface completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0e2b6286805c419d28a4c1e19e3a121af7449b20",
      "tree": "def761584adbf70629938db1590a112e9f7ba6d9",
      "parents": [
        "ec96cfd8215af1cda016837efb266409164e3a30"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 13 13:23:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:13 2009 -0400"
      },
      "message": "mac80211: cancel the connection monitor timers/work\n\nIn \"mac80211: monitor the connection\" I forgot to\nadd code to cancel the new timers \u0026 work when the\ninterface is brought down, which isn\u0027t a problem\nif you just bring it down, but _is_ a problem when\nyou destroy the interface. Correct this lapse.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77fdaa12cea26c204cc12c312fe40bc0f3dcdfd8",
      "tree": "c28fdd28f2ca2783783adb4b5e13b7ba57a223a3",
      "parents": [
        "a7c1cfc9616ee76213a6d4fd4c17f13fdc92ddce"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 03:45:17 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:30 2009 -0400"
      },
      "message": "mac80211: rework MLME for multiple authentications\n\nSit tight. This shakes up the world as you know\nit. Let go of your spaghetti tongs, they will no\nlonger be required, the horrible statemachine in\nnet/mac80211/mlme.c is no more...\n\nWith the cfg80211 SME mac80211 now has much less\nto keep track of, but, on the other hand, for FT\nit needs to be able to keep track of at least one\nauthentication being in progress while associated.\nSo convert from a single state machine to having\nsmall ones for all the different things we need to\ndo. For real FT it will still need work wrt. PS,\nbut this should be a good step.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab1faead50d09165b58c2854997c7205ca9c0d22",
      "tree": "6eb456e24aab52cdd9ed152d09008635a1ebd555",
      "parents": [
        "6dc1cb0319997648f59b0f46b9e093e779f0353d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:41:17 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:53 2009 -0400"
      },
      "message": "mac80211: remove dead code, clean up\n\nWith mac80211 now always controlled by an external SME,\na lot of code is dead -- SSID, BSSID, channel selection\nis always done externally, etc. Additionally, rename\nIEEE80211_STA_TKIP_WEP_USED to IEEE80211_STA_DISABLE_11N\nand clean up the code a bit.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f87f7d3a3b42b20f34cb03f0fd1a41c3d0e27f3",
      "tree": "642882153a48e910a415e6bb23bcfb79fadef6dd",
      "parents": [
        "6081162e2ed78dfcf149b076b047078ab1445cc2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 02 13:01:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:14 2009 -0400"
      },
      "message": "cfg80211: add rfkill support\n\nTo be easier on drivers and users, have cfg80211 register an\nrfkill structure that drivers can access. When soft-killed,\nsimply take down all interfaces; when hard-killed the driver\nneeds to notify us and we will take down the interfaces\nafter the fact. While rfkilled, interfaces cannot be set UP.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "58905ca5b11a0ff3860f55b789cbbf052f7158a7",
      "tree": "7c7a4c937130855dfef41c2302deb7fb0b5a2eb7",
      "parents": [
        "02018b39a75057541c7946a9173561d1a76a0bfe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu May 07 14:23:01 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:54 2009 -0400"
      },
      "message": "mac80211: fix scan channel race\n\nWhen a software scan starts, it first sets sw_scanning, but\nleaves the scan_channel \"unset\" (it currently actually gets\ninitialised to a default). Now, when something else tries\nto (re)configure the hardware in the window between these two\nevents (after sw_scanning \u003d true, but before scan_channel is\nset), the current code switches to the (unset!) scan_channel.\nThis causes trouble, especially when switching bands and\nsending frames on the wrong channel.\n\nTo work around this, leave scan_channel initialised to NULL\nand use it to determine whether or not a switch to a different\nchannel should occur (and also use the same condition to check\nwhether to adjust power for scan or not).\n\nAdditionally, avoid reconfiguring the hardware completely when\nrecalculating idle resulted in no changes, this was the problem\nthat originally led us to discover the race condition in the\nfirst place, which was helpfully bisected by Pavel. This part\nof the patch should not be necessary with the other fixes, but\nnot calling the ieee80211_hw_config function when we know it to\nbe unnecessary is certainly a correct thing to do.\n\nUnfortunately, this patch cannot and does not fix the race\ncondition completely, but due to the way the scan code is\nstructured it makes the particular problem Pavel discovered\n(race while changing channel at the same time as transmitting\nframes) go away. To fix it completely, more work especially\nwith locking configuration is needed.\n\nBisected-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5cff20e6c5a6591a79d3b027af222870f52bb550",
      "tree": "81b6ebb75c1dc87b65258e71526c1581d168156c",
      "parents": [
        "9955151df7c6452cae2ed9649f53d265c91cf155"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 29 12:26:17 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:51 2009 -0400"
      },
      "message": "mac80211: tell driver when idle\n\nWhen we aren\u0027t doing anything in mac80211, we can turn off\nmuch of the hardware, depending on the driver/hw. Not doing\nanything, aka being idle, means:\n\n * no monitor interfaces\n * no AP/mesh/wds interfaces\n * any station interfaces are in DISABLED state\n * any IBSS interfaces aren\u0027t trying to be in a network\n * we aren\u0027t trying to scan\n\nBy creating a new function that verifies these conditions and calling\nit at strategic points where the states of those conditions change,\nwe can easily make mac80211 tell the driver when we are idle to save\npower.\n\nAdditionally, this fixes a small quirk where a recalculated powersave\nstate is passed to the driver even if the hardware is about to stopped\ncompletely.\n\nThis patch intentionally doesn\u0027t touch radio_enabled because that is\ncurrently implemented to be a soft rfkill which is inappropriate here\nwhen we need to be able to wake up with low latency.\n\nOne thing I\u0027m not entirely sure about is this:\n\n  phy0: device no longer idle - in use\n  wlan0: direct probe to AP 00:11:24:91:07:4d try 1\n  wlan0 direct probe responded\n  wlan0: authenticate with AP 00:11:24:91:07:4d\n  wlan0: authenticated\n\u003e phy0: device now idle\n\u003e phy0: device no longer idle - in use\n  wlan0: associate with AP 00:11:24:91:07:4d\n  wlan0: RX AssocResp from 00:11:24:91:07:4d (capab\u003d0x401 status\u003d0 aid\u003d1)\n  wlan0: associated\n\nIs it appropriate to go into idle state for a short time when we have\njust authenticated, but not associated yet? This happens only with the\nuserspace SME, because we cannot really know how long it will wait\nbefore asking us to associate. Would going idle after a short timeout\nbe more appropriate? We may need to revisit this, depending on what\nhappens.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2448798133d747ad339e57099e32a1d1e68aca1c",
      "tree": "ee09385f5dca9e243c38f5f888baa02605423bd7",
      "parents": [
        "2d0ddec5b2b859f06116f631fc0ffe94fbceb556"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 18:52:52 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:37 2009 -0400"
      },
      "message": "mac80211: add driver ops wrappers\n\nIn order to later add tracing or verifications to the driver\ncalls mac80211 makes, this patch adds static inline wrappers\nfor all operations.\n\nAll calls are now written as\n\n\tdrv_\u003cop\u003e(local, ...);\n\ninstead of\n\n\tlocal-\u003eops-\u003e\u003cop\u003e(\u0026local-\u003ehw, ...);\n\nWhere necessary, the wrappers also do existence checking and\nreturn default values as appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af8cdcd828ad751fae8e6cbfe94eef9f2f23b14b",
      "tree": "7a00a19c976abbeba16bd04ddc177b6332057c98",
      "parents": [
        "04a773ade0680d862b479d7219973df60f7a3834"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Apr 19 21:25:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "mac80211: convert to cfg80211 IBSS API\n\nThis converts mac80211 to the new cfg80211 IBSS API, the\nwext handling functions are called where appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "10f644a47b76d3e61b98f2d02ce9690b94c51ee5",
      "tree": "fc344d0f888ea0b97608cd53eec1d2dc17672087",
      "parents": [
        "965bedadc01d34027455d5d5b67063ef0209c955"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 16 13:17:25 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:16 2009 -0400"
      },
      "message": "mac80211: disable powersave if pm_qos asks for low latency\n\nWhen an application asks for a latency lower than the beacon interval\nthere\u0027s nothing we can do -- we need to stay awake and not have the\nAP buffer frames for us. Add code to automatically calculate this\nconstraint in mac80211 so drivers need not concern themselves with it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "965bedadc01d34027455d5d5b67063ef0209c955",
      "tree": "012bb04559011498e0bdb5db1ba6ffad0ec8b89a",
      "parents": [
        "dc7d243d75b906cc964c12caa3b2eebe953a69be"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 16 13:17:24 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:15 2009 -0400"
      },
      "message": "mac80211: improve powersave implementation\n\nWhen you have multiple virtual interfaces the current\nimplementation requires setting them up properly from\nuserspace, which is undesirable when we want to default\nto power save mode. Keep track of powersave requested\nfrom userspace per managed mode interface, and only\nenable powersave globally when exactly one managed mode\ninterface is active and has powersave turned on.\n\nSecond, only start the dynPS timer when PS is turned\non, and properly turn it off when PS is turned off.\n\nThird, fix the scan_sdata abuse in the dynps code.\n\nFinally, also reorder the code and refactor the code\nthat enables PS or the dynps timer instead of having\nit copied in two places.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "04de83815993714a7ba2618f637fa1092a5f664b",
      "tree": "7e491e890a66a3be3e4eae9636914858a6f3bba8",
      "parents": [
        "a08c1c1ac0c26229ca1ca45d554b209a56edc8be"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Sun Mar 22 21:57:35 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:13 2009 -0400"
      },
      "message": "mac80211: add beacon filtering support\n\nAdd IEEE80211_HW_BEACON_FILTERING flag so that driver inform that it supports\nbeacon filtering. Drivers need to call the new function\nieee80211_beacon_loss() to notify about beacon loss.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7986cf9581767d250ca0e5a554541bb276e08d21",
      "tree": "eae47d0486f35c49605dd6c96603c13b1390343b",
      "parents": [
        "ac7f9cfa2c3b810e0adfb889ad407a8c79a84dbe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Mar 21 17:08:43 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:08 2009 -0400"
      },
      "message": "mac80211: remove mixed-cell and userspace MLME code\n\nNeither can currently be set from userspace, so there\u0027s no\nregression potential, and neither will be supported from\nuserspace since the new userspace APIs allow the SME, which\nis in userspace, to control all we need.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "65fc73ac4a310945dfeceac961726c2765ad2ec0",
      "tree": "5c1410524f3a82b653d6a08753fbe5bdd9a984fa",
      "parents": [
        "feeb44454996cf5b375fad21697bf6202fe30dd2"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Fri Mar 20 21:21:16 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:04 2009 -0400"
      },
      "message": "nl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE\n\nThe functionality that NL80211_CMD_SET_MGMT_EXTRA_IE provided can now\nbe achieved with cleaner design by adding IE(s) into\nNL80211_CMD_TRIGGER_SCAN, NL80211_CMD_AUTHENTICATE,\nNL80211_CMD_ASSOCIATE, NL80211_CMD_DEAUTHENTICATE, and\nNL80211_CMD_DISASSOCIATE.\n\nSince this is a very recently added command and there are no known (or\nknown planned) applications using NL80211_CMD_SET_MGMT_EXTRA_IE and\ntaken into account how much extra complexity it adds to the IE\nprocessing we have now (and need to add in the future to fix IE order\nin couple of frames), it looks like the best option is to just remove\nthe implementation of this command for now. The enum values themselves\nare left to avoid changing the nl80211 command or attribute numbers.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "d7873cb9abb5d8b4b9f7f5749af06e4e03798733"
}
