)]}'
{
  "log": [
    {
      "commit": "8f727ef3c4859f2c397a7609beb845dcd66729f5",
      "tree": "9843df4721d5510c464f7ea4e1f4da940b247c80",
      "parents": [
        "7213cf2cb0dfbb4d6b55a1da000d34338f76c0e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Mar 30 08:43:32 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:08 2012 -0400"
      },
      "message": "mac80211: notify driver of rate control updates\n\nDevices that have internal rate control need to be\nnotified when the bandwidth or SMPS state changes\njust like external rate control algorithms get a\nnotification now.\n\nAdd this notification and clarify the change bits\nwhile at it, the HT_CHANGED bit really meant only\nbandwidth changed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "64f68e5d15bee47e0d6d0c57a1cf52cedd9b3527",
      "tree": "e000cea46fd57d876d725224d2b51b74cec35572",
      "parents": [
        "24398e39c8ee4a9d9123eed322b859ece4d16cac"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 28 10:58:37 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:08 2012 -0400"
      },
      "message": "mac80211: remove channel type argument from rate_update\n\nThe channel type argument to the rate_update()\ncallback isn\u0027t really the correct way to give\nthe rate control algorithm about the desired\nRX bandwidth of the peer.\n\nRemove this argument, and instead update the\nSTA capabilities with 20/40 appropriately. The\nSMPS update done by this callback works in the\nsame way, so this makes the callback cleaner.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2cfc6fc584a65db87935ca4e4d5e1ad89d5192ee",
      "tree": "cebba13955a1702bf73ffa29a648b01a5942bcfa",
      "parents": [
        "42bc0c9716c456a9686fcd4ee5cf115b992b9952"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Feb 08 19:17:11 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 08 16:07:31 2012 -0500"
      },
      "message": "mac80211: do not call rate control .tx_status before .rate_init\n\nMost rate control implementations assume .get_rate and .tx_status are only\ncalled once the per-station data has been fully initialized.\nminstrel_ht crashes if this assumption is violated.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nTested-by: Arend van Spriel \u003carend@broadcom.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e1936e9407138b483e6d1332dd944afec8131f30",
      "tree": "65ec2b02b60e572f0067771da951bcf53b52aa9c",
      "parents": [
        "1023f3bc7b3f56da1f79f605cbe459318c4792ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:23 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 15:35:11 2012 -0500"
      },
      "message": "mac80211: call rate control only after init\n\nThere are situations where we don\u0027t have the\nnecessary rate control information yet for\nstation entries, e.g. when associating. This\ncurrently doesn\u0027t really happen due to the\ndummy station handling; explicitly disabling\nrate control when it\u0027s not initialised will\nallow us to remove dummy stations.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "889cbb911a195b832745f77240f547cb2a2885bc",
      "tree": "973a6325e082b0840a56a284a95b609134058c39",
      "parents": [
        "151a02f693b866dd43e147725c818fc1ddb96aa3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 17 10:33:29 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:21:55 2012 -0500"
      },
      "message": "mac80211: clean up rate control code\n\nIt seems exceedingly unlikely that we\u0027ll ever\nsupport swapping rate control algorithms at\nruntime, so remove the unused refcounting code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ec8aa669b8393b6789b1954d587c63264af7ff99",
      "tree": "1a4c43dc718262d1aa6256de2d50b9e03a76c604",
      "parents": [
        "b4df47081b67bce9dcb7b84b551588c7402a330a"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu May 13 16:48:03 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 02 16:12:59 2010 -0400"
      },
      "message": "mac80211: add the minstrel_ht rate control algorithm\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4fa004373133ece3d9b1c0a7e243b0e53760b165",
      "tree": "e70b44c3d6a5afef0238caff3c7eefbcc74b0bc0",
      "parents": [
        "b08dfd0435333818a03b38867c556ebcbb3abc02"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Mon Mar 01 14:42:57 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 03 15:39:21 2010 -0500"
      },
      "message": "mac80211: Fix HT rate control configuration\n\nHandling HT configuration changes involved setting the channel\nwith the new HT parameters and then issuing a rate_update()\nnotification to the driver.\n\nThis behavior changed after the off-channel changes. Now, the channel\nis not updated with the new HT params in enable_ht() - instead, it\nis now done when the scan work terminates. This results in the driver\ndepending on stale information, defaulting to non-HT mode always.\n\nFix this by passing the new channel type to the driver.\n\nCc: stable@kernel.org\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "209c671db7a917740ab9873d442b10ae7e369937",
      "tree": "5bdad7889666b679e5dd67adf59a5e3223d0d266",
      "parents": [
        "641eabb0a3717020d1a93d3f91493ab0d826c910"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Sun Feb 07 21:47:50 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 08 16:51:03 2010 -0500"
      },
      "message": "mac80211: make rate_control_alloc static\n\nrate_control_alloc is not used by anything outside of\nieee80211_init_rate_ctrl_alg.  Both are in rate.c; there\u0027s no reason to make\nrate_control_alloc visible outside of it.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3c384053ce4cb1949f5575c28e30e6ceea8cb39b",
      "tree": "5cfe0c3803dc8182c722a2a9cc992eec68cdc812",
      "parents": [
        "b4d57adb727ec7c34020390eeb0eeb9e0a2959bc"
      ],
      "author": {
        "name": "Vasanthakumar",
        "email": "vasanth@atheros.com",
        "time": "Mon Feb 01 18:49:07 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 01 15:40:09 2010 -0500"
      },
      "message": "mac80211: Don\u0027t call rate control when HW handles it\n\nRate control should not be called to update the tx status\nwhen HW does the RC.\n\nSigned-off-by: Vasanthakumar \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\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": "af65cd96dd4ea8ea5adc6ee850e61a407cd1067a",
      "tree": "fcdd50d2b9121bc26110329cb0fbefdeace99858",
      "parents": [
        "c95cf3d09adc9afe7816a13a920b6df36062a3fe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Nov 17 18:18:36 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:24 2009 -0500"
      },
      "message": "mac80211: make software rate control optional\n\nSome devices implement the entire rate control in\nfirmware in some way, like wl1271 or like iwlwifi\nwhich does some things in software but not a lot.\nTherefore generic software rate control is rather\nuseless for them and just adds avoidable overhead\nto the transmit path.\n\nIt\u0027s fairly simple to let drivers indicate that\nthey do not need rate control, but they need to\nfulfil a number of conditions that we encode in\nWARN_ONs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2b874e83c970b45c328ab12239b066a43505454c",
      "tree": "e4924ed6989f01682ec50910361b0d621dae0be4",
      "parents": [
        "4a48e2a484e5cf99da4795cf2d6916e057d533ad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 14:10:22 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:15 2009 -0400"
      },
      "message": "mac80211: rate control status only for controlled packets\n\nThis patch changes mac80211 to not notify the rate control algorithm\u0027s\ntx_status() method when reporting status for a packet that didn\u0027t go\nthrough the rate control algorithm\u0027s get_rate() method.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "81cb7623ad3b408f871fa36b774fc20d8dfccac0",
      "tree": "4a5f0811f0030059321858c634cf7ba5613fb78f",
      "parents": [
        "b06e786d4c850515e2efdf6dc37ba9e2ffc86bab"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Feb 12 11:38:37 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:45 2009 -0500"
      },
      "message": "mac80211: Extend the rate control API with an update callback\n\nThe AP can switch dynamically between 20/40 Mhz channel width,\nin which case we switch the local operating channel, but the\nrate control algorithm is not notified. This patch adds a new callback\nto indicate such changes to the RC algorithm.\n\nCurrently, HT channel width change is notified, but this callback\ncan be used to indicate any new requirements that might come up later on.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50fb2e4572141770380f5919793c6e575fa3474b",
      "tree": "6227726fda3e7b54515b6738bcf62b5f395ded23",
      "parents": [
        "65a0667b43ff746b2964b2a257ffff1a4747e19d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 16 11:21:49 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:37 2008 -0400"
      },
      "message": "mac80211: remove rate_control_clear\n\n\"Clearing\" the rate control algorithm is pointless, none of\nthe algorithms actually uses this operation and it\u0027s not even\ninvoked properly for all channel switching. Also, there\u0027s no\nneed to since rate control algorithms work per station.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e6a9854b05c1a6af1308fe2b8c68f35abf28a3ee",
      "tree": "241f611f8194586ccabf61bacb060508773b9d05",
      "parents": [
        "cb121bad67a32cde37adc2729b7e18aa4fd3063e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 21 12:40:02 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:23 2008 -0400"
      },
      "message": "mac80211/drivers: rewrite the rate control API\n\nSo after the previous changes we were still unhappy with how\nconvoluted the API is and decided to make things simpler for\neverybody. This completely changes the rate control API, now\ntaking into account 802.11n with MCS rates and more control,\nmost drivers don\u0027t support that though.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cccf129f820e431d84690729254a32f1709328fb",
      "tree": "0539c013be61ba6c8eeb0790ccb7df50bf2cb3bd",
      "parents": [
        "2f7fe87034298d94301315ba4bb65c7284c709d0"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Oct 05 18:07:45 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 06 18:14:57 2008 -0400"
      },
      "message": "mac80211: add the \u0027minstrel\u0027 rate control algorithm\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4b7679a561e552eeda1e3567119bef2bca99b66e",
      "tree": "b5f2b45c9186eb954f9329322d07e277e669b422",
      "parents": [
        "2ff6a6d4e92270283432690adf53a7e5ab186d19"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 18 18:14:18 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:03 2008 -0400"
      },
      "message": "mac80211: clean up rate control API\n\nLong awaited, hard work. This patch totally cleans up the rate control\nAPI to remove the requirement to include internal headers outside of\nnet/mac80211/.\n\nThere\u0027s one internal use in the PID algorithm left for mesh networking,\nwe\u0027ll have to figure out a way to clean that one up and decide how to\ndo the peer link evaluation, possibly independent of the rate control\nalgorithm or via new API.\n\nAdditionally, ath9k is left using the cross-inclusion hack for now, we\nwill add new API where necessary to make this work properly, but right\nnow I\u0027m not expert enough to do it. It\u0027s still off better than before.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "323ce79a9cdbf838ea577677b1ddace8e0b4d4c6",
      "tree": "f14a67ec7927865dc1537b2c3a4fb20c0325f517",
      "parents": [
        "b7e35008815a1c39123f4dd53b430788e2e18da4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 02:45:11 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:24 2008 -0400"
      },
      "message": "mac80211: share sta-\u003esupp_rates\n\nAs more preparation for a saner rate control algorithm API,\nshare the supported rates bitmap in the public API.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e5f5e7339cd95d07937e6f8081b46fba86c742a7",
      "tree": "9526b93d4272d978349b825d90e10a5710d08f00",
      "parents": [
        "bf998f686430107fb8790ef6713f8e352a3deede"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jun 26 13:38:13 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 30 17:37:34 2008 -0400"
      },
      "message": "build algorithms into the mac80211 module\n\nThe old infrastructure was:\n- the default algorithm is built into mac80211\n- other algorithms get into their own modules\n\nThe implementation of this complicated scheme was horrible\n(just look at net/mac80211/Makefile), and anyone adding a new\nalgorithm would most likely not get it right at his first attempt.\n\nThis patch therefore builds all enabled algorithms into the mac80211\nmodule.\n\nThe user interface for the rate control algorithms changes as follows:\n- first the user can choose which algorithms to enable (currently only\n  MAC80211_RC_PID is available)\n- if more than one algorithm is enabled (currently not possible since\n  only one algorithm is present) the user then chooses the default one\n\nNote:\n- MAC80211_RC_PID is always enables for CONFIG_EMBEDDED\u003dn\n\nTechnical changes:\n- all selected algorithms get into the mac80211 module\n- net/mac80211/Makefile can now become much less complicated\n- support for rc80211_pid_algo.c being modular is no longer required\n- this includes unexporting mesh_plink_broken\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e039fa4a4195ac4ee895e6f3d1334beed63256fe",
      "tree": "cfd0762d73df96b73052378be7b157c4ac6e7035",
      "parents": [
        "e24549485f859be6518929bb1c9c0257d79f033d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu May 15 12:55:29 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:48:11 2008 -0400"
      },
      "message": "mac80211: move TX info into skb-\u003ecb\n\nThis patch converts mac80211 and all drivers to have transmit\ninformation and status in skb-\u003ecb rather than allocating extra\nmemory for it and copying all the data around. To make it fit,\na union is used where only data that is necessary for all steps\nis kept outside of the union.\n\nA number of fixes were done by Ivo, as well as the rt2x00 part\nof this patch.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e92e6f2c50b4baf85cca968f0e6f1b5c0df7d39",
      "tree": "e845c2f3af6d29c807c540366b97b1d886b92c91",
      "parents": [
        "36d6825b91bc492b65b6333c369cd96a2fc8c903"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu May 15 12:55:27 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:48:09 2008 -0400"
      },
      "message": "mac80211: use rate index in TX control\n\nThis patch modifies struct ieee80211_tx_control to give band\ninfo and the rate index (instead of rate pointers) to drivers.\nThis mostly serves to reduce the TX control structure size to\nmake it fit into skb-\u003ecb so that the fragmentation code can\nput it there and we can think about passing it to drivers that\nway in the future.\n\nThe rt2x00 driver update was done by Ivo, thanks.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2c8dccc77420fb7433da5674818959d3499d35be",
      "tree": "2da037732b78a4796254b485f0c591d9625b7d1e",
      "parents": [
        "3b96766f0e643f52ae19e134664df6730c737e87"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 08 15:14:40 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 16:44:45 2008 -0400"
      },
      "message": "mac80211: rename files\n\nThis patch renames all mac80211 files (except ieee80211_i.h) to get rid\nof the useless ieee80211_ prefix.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d9357136ac4729f589543afb6b1d17d443ae4f71",
      "tree": "00d7e5966faec86f820713136b196821b5e622bd",
      "parents": [
        "7524d7d6de5d5d3f081de8cf5479819fad339661"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 15:26:15 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 13 16:02:31 2008 -0400"
      },
      "message": "the scheduled rc80211-simple.c removal\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d0709a65181beb787ef3f58cfe45536a2bb254c8",
      "tree": "29e5f36583b0e0a3f11b291347e57672eab41dad",
      "parents": [
        "5cf121c3cdb955583bf0c5d28c992b7968a4aa1a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Feb 25 16:27:46 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:46 2008 -0500"
      },
      "message": "mac80211: RCU-ify STA info structure access\n\nThis makes access to the STA hash table/list use RCU to protect\nagainst freeing of items. However, it\u0027s not a true RCU, the\ncopy step is missing: whenever somebody changes a STA item it\nis simply updated. This is an existing race condition that is\nnow somewhat understandable.\n\nThis patch also fixes the race key freeing vs. STA destruction\nby making sure that sta_info_destroy() is always called under\nRTNL and frees the key.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8318d78a44d49ac1edf2bdec7299de3617c4232e",
      "tree": "d434634418edd7399737801615d247be06616fdd",
      "parents": [
        "10b6b80145cc93887dd8aab99bfffa375e9add31"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 24 19:38:38 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 29 15:19:32 2008 -0500"
      },
      "message": "cfg80211 API for channels/bitrates, mac80211 and driver conversion\n\nThis patch creates new cfg80211 wiphy API for channel and bitrate\nregistration and converts mac80211 and drivers to the new API. The\nold mac80211 API is completely ripped out. All drivers (except ath5k)\nare updated to the new API, in many cases I expect that optimisations\ncan be done.\n\nAlong with the regulatory code I\u0027ve also ripped out the\nIEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED flag, I believe it to be\nunnecessary if the hardware simply gives us whatever channels it wants\nto support and we then enable/disable them as required, which is pretty\nmuch required for travelling.\n\nAdditionally, the patch adds proper \"basic\" rate handling for STA\nmode interface, AP mode interface will have to have new API added\nto allow userspace to set the basic rate set, currently it\u0027ll be\nempty... However, the basic rate handling will need to be moved to\nthe BSS conf stuff.\n\nI do expect there to be bugs in this, especially wrt. transmit\npower handling where I\u0027m basically clueless about how it should work.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4b475898ec9dc6e62cebcb8fc0b3495c986a4590",
      "tree": "8409a6865f3d83965228fd8f6fae3b05e1e106ed",
      "parents": [
        "688b88a4886834d7e3457711cd4feef6611d3232"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 02 15:17:03 2008 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:02 2008 -0800"
      },
      "message": "mac80211: better rate control algorithm selection\n\nThis patch changes mac80211\u0027s Kconfig/Makefile to:\n * select between the PID and the SIMPLE rate control\n   algorithm as default\n * always allow tri-state for the rate control algorithms,\n   building those that are selected \u0027y\u0027 into the mac80211\n   module (if that is a module, otherwise all into the kernel)\n * force the default rate control algorithm to be built into\n   mac80211\n\nIt also makes both rate control algorithms proper modules again\nwith MODULE_LICENSE etc.\n\nOnly if EMBEDDED is the user allowed to select \"NONE\" as default\nwhich will cause no algorithm to be selected, this will work\nonly when the driver brings one itself (e.g. iwlwifi drivers).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad01837593338f13508463fa11c8dbf8109a1e5d",
      "tree": "77b521a6b8e7f8357505449fe812a9d41d40afb2",
      "parents": [
        "1abbe498e4b5e4f2000dfc30a0fa25be9553530e"
      ],
      "author": {
        "name": "Mattias Nissler",
        "email": "mattias.nissler@gmx.de",
        "time": "Wed Dec 19 01:25:57 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:18 2008 -0800"
      },
      "message": "mac80211: add PID controller based rate control algorithm\n\nAdd a new rate control algorithm based on a PID controller. It samples the\npercentage of failed frames over time, feeds the result into the controller and\nuses its output to control the TX rate.\n\nSigned-off-by: Mattias Nissler \u003cmattias.nissler@gmx.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1abbe498e4b5e4f2000dfc30a0fa25be9553530e",
      "tree": "8f899d2f623b2316f874fd8ae4b84838ad4e8b40",
      "parents": [
        "98f0b0a3a412eade153c7cf00c6b863600980d89"
      ],
      "author": {
        "name": "Mattias Nissler",
        "email": "mattias.nissler@gmx.de",
        "time": "Thu Dec 20 13:50:07 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:17 2008 -0800"
      },
      "message": "mac80211: clean up rate selection\n\nMove some code out of rc80211_simple since it\u0027s probably needed for all rate\nselection algorithms, and fix iwlwifi accordingly. While at it, clean up the\nrate_control_get_rate() interface.\n\nSigned-off-by: Stefano Brivio \u003cstefano.brivio@polimi.it\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac71c691e6a5ce991fe221d3bdb0c972f617aa37",
      "tree": "a3641b416579fbb8368e04e1a88f68e0da8dfe39",
      "parents": [
        "8a8f1c0437a77cce29c1cb6089f01f22a6d9ca6e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Oct 28 14:17:44 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Nov 10 21:59:23 2007 -0800"
      },
      "message": "mac80211: make simple rate control algorithm built-in\n\nToo frequently people do not have module autoloading enabled\nor fail to install the rate control module correctly, hence\ntheir hardware probing fails due to no rate control algorithm\nbeing available. This makes the \u0027simple\u0027 algorithm built into\nthe mac80211 module unless EMBEDDED is enabled in which case\nit can be disabled (eg. if the wanted driver requires another\nrate control algorithm.)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f9d540ee5f7e480339911df8d7389ef4c435ab54",
      "tree": "89381e4aa0f8ea31662dc21e890c339d715f8271",
      "parents": [
        "a28975525016ddcbdaab8225666df1cf2dc9cb2d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 28 14:02:09 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:15 2007 -0700"
      },
      "message": "[MAC80211]: remove management interface\n\nRemoves the management interface since it is only required\nfor hostapd/userspace MLME, will not be in the final tree\nat least in this form and hostapd/userspace MLME currently\ndo not work against this tree anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff6880892990aece71a3271425dfde35344d51bb",
      "tree": "6a6c5f61c0e060a9080345324df5a16e33a94f7e",
      "parents": [
        "1f5a7e47ae58cc23c623c09f1c9d97b7a8cf6344"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 27 15:43:23 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:35 2007 -0700"
      },
      "message": "[MAC80211]: move some rate control functions out of ieee80211.c\n\nI think these can go with rate control just as well and it makes\nieee80211.c more readable.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e9f207f0ff90bf60b825800d7450e6f2ff2eab88",
      "tree": "22bd39116f2cae8d4ce6169eb91e4b9a7204770f",
      "parents": [
        "f0706e828e96d0fa4e80c0d25aa98523f6d589a0"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:46:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:46:38 2007 -0700"
      },
      "message": "[MAC80211]: Add debugfs attributes.\n\nExport various mac80211 internal variables through debugfs.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0706e828e96d0fa4e80c0d25aa98523f6d589a0",
      "tree": "a03c7f94939d74c1e1b82fcd9a215871590d8b35",
      "parents": [
        "a9de8ce0943e03b425be18561f51159fcceb873d"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:45:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:45:53 2007 -0700"
      },
      "message": "[MAC80211]: Add mac80211 wireless stack.\n\nAdd mac80211, the IEEE 802.11 software MAC layer.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
