)]}'
{
  "log": [
    {
      "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": "5ecccb74dc91e22496a142b103ba958f93c29275",
      "tree": "b560b8974ec0e0478492d60753d45d8aea9db9b0",
      "parents": [
        "f6f223039c0d0683bdea1eabd35b309e10311a60",
        "3d0beb921fa34ebf8b13e206e5473329b14deb83"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 14 22:30:54 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 14 22:30:54 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/rate.c\n"
    },
    {
      "commit": "5affcd6ba2036b59a4dee3f0576ae3584e92e4f1",
      "tree": "78c6d3a329968b253d5c67c7d11adc0ab9af3c3d",
      "parents": [
        "fafaf31bf9f965d91462ee115e27ef6c262b74ea"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Fri Feb 12 10:05:45 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 12 14:50:22 2010 -0500"
      },
      "message": "mac80211: fix handling of null-rate control in rate_control_get_rate\n\nFor hardware with IEEE80211_HW_HAS_RATE_CONTROL the rate controller is not\ninitialized. However, calling functions such as ieee80211_beacon_get result\nin the rate_control_get_rate function getting called, which is accessing\n(in this case uninitialized) rate control structures unconditionally.\n\nFix by exiting the function before setting the rates for HW with\nIEEE80211_HW_HAS_RATE_CONTROL set. The initialization of the ieee80211_tx_info\nstruct is intentionally still executed.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nReviewed-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nCc: stable@kernel.org\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": "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": "e00cfce0cb2a397859607bf515c6de9ce064b64a",
      "tree": "038d87e7d90a5bcdd8f689a563221eab883b0546",
      "parents": [
        "3dc1de0bf23816ed557ac8addf680cd5ee57e805"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:59:19 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:09 2010 -0500"
      },
      "message": "mac80211: Select lowest rate based on basic rate set in AP mode\n\nIf the basic rate set is configured to not include the lowest rate\n(e.g., basic rate set \u003d 6, 12, 24 Mbps in IEEE 802.11g mode), the AP\nshould not send out broadcast frames at 1 Mbps. This type of\nconfiguration can be used to optimize channel usage in cases where\nthere is no need for backwards compatibility with IEEE 802.11b-only\ndevices.\n\nIn AP mode, mac80211 was unconditionally using the lowest rate for\nBeacon frames and similarly, with all rate control algorithms that use\nrate_control_send_low(), the lowest rate ended up being used for all\nbroadcast frames (and all unicast frames that are sent before\nassociation). Change this to take into account the basic rate\nconfiguration in AP mode, i.e., use the lowest rate in the basic rate\nset instead of the lowest supported rate when selecting the rate.\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": "7bcfaf2f431c09c51fe776fc06638b25d3b421c5",
      "tree": "27f767335566826f11f0134b97ee76b58d9bcf90",
      "parents": [
        "2c0d6100da3ee9b0f0cc46add9bb8a8161299a92"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 27 12:59:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:18 2009 -0400"
      },
      "message": "cfg80211/mac80211: use debugfs_remove_recursive\n\nWe can save a lot of code and pointers in the structs\nby using debugfs_remove_recursive().\n\nFirst, change cfg80211 to use debugfs_remove_recursive()\nso that drivers do not need to clean up any files they\nadded to the per-wiphy debugfs (if and only if they are\nok to be accessed until after wiphy_unregister!).\n\nThen also make mac80211 use debugfs_remove_recursive()\nwhere necessary -- it need not remove per-wiphy files\nas cfg80211 now removes those, but netdev etc. files\nstill need to be handled but can now be removed without\nneeding struct dentry pointers to all of them.\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": "4c6d4f5c33fbe19b134c1af43af166fee79eb986",
      "tree": "789bd7f9c049ea9c57ad8f4826df6bcad3774ade",
      "parents": [
        "943ab70f6aebfdc0005ef7e58ae982e9ec22224b"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jul 16 10:05:41 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:16 2009 -0400"
      },
      "message": "mac80211: add helper for management / no-ack frame rate decision\n\nAll current rate control algorithms agree to send management and no-ack\nframes at the lowest rate. They also agree to do this when sta\nand the private rate control data is NULL. We add a hlper to mac80211\nfor this and simplify the rate control algorithm code.\n\nDevelopers wishing to make enhancements to rate control algorithms\nare for broadcast/multicast can opt to not use this in their\ngate_rate() mac80211 callback.\n\nCc: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nCc: ipw3945-devel@lists.sourceforge.net\nCc: Gabor Juhos \u003cjuhosg@openwrt.org\u003e\nAcked-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: Derek Smithies \u003cderek@indranet.co.nz\u003e\nCc: Chittajit Mitra \u003cChittajit.Mitra@Atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\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": "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": "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": "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": "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": "2bc454b0b30b3645d114689b64321cb49be99923",
      "tree": "a6c2bc87e02586f43a71dbb5f1808079df120dec",
      "parents": [
        "9ab461732a3cd8e7a7cf13cc46ed4c1ac7907824"
      ],
      "author": {
        "name": "Michael Wu",
        "email": "flamingice@sourmilk.net",
        "time": "Tue Dec 25 19:33:16 2007 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:09:42 2008 -0800"
      },
      "message": "mac80211: Fix rate reporting regression\n\nMattias Nissler\u0027s \"clean up rate selection\" patch incorrectly changes\nthe behavior of txrate setting in sta_info. This patch backs out parts\nof the rate selection consolidation in order to fix this issue for now.\n\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.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": "c21b39aca4f8f4975784e54cd3a1b80bab80dcc0",
      "tree": "bcf9b8ab5ecdb77fbd7ff7e56bc6474334a5d008",
      "parents": [
        "b92edbe0b8a36a833c16b0cbafb6e899b81ffc08"
      ],
      "author": {
        "name": "Stefano Brivio",
        "email": "stefano.brivio@polimi.it",
        "time": "Wed Dec 19 01:26:16 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:41 2008 -0800"
      },
      "message": "mac80211: make PID rate control algorithm the default\n\nThis makes the new PID TX rate control algorithm the default instead of the\nrc80211_simple rate control algorithm. The simple algorithm was flawed in\nseveral ways: it wasn\u0027t responsive at all and didn\u0027t age the information it was\nrelying on properly. The PID algorithm allows us to tune characteristics such\nas responsiveness by adjusting parameters and was found to generally behave\nbetter.\n\nThe default algorithm can be overridden to select simple instead. Which\never algorithm is the default is included as part of the mac80211\nmodule automatically. The other algorithm (simple vs. pid) can\nbe selected for inclusion as well. If EMBEDDED is selected then\nthe choice is available to have no default specified and neither\nalgorithm included in mac80211. The default algorithm can be set\nthrough a modparam.\n\nWhile at it, mark rc80211-simple as deprecated, and schedule it\nfor removal.\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": "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": "20880e8936e467fe30d79aa838c8d24b7073648f",
      "tree": "a4f0b2de724ee3610414459b1072149cd2386598",
      "parents": [
        "3333590e94262aebb5d0fb767cc7ed8b2359705c"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Dec 13 16:17:03 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 19 16:43:47 2007 -0800"
      },
      "message": "NET: mac80211: fix inappropriate memory freeing\n\nFix inappropriate memory freeing in case of requested rate_control_ops was\nnot found.  In this case the list head entity is going to be accidentally\nwasted.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b808ab16a9c99c00e3d8c3b351977fce62781dd0",
      "tree": "7005de517244926a3aac5f18a4df38f80063839c",
      "parents": [
        "2ef19e63e698d740661e04bd6d62ac3305435c61"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Dec 13 15:52:11 2007 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 17 17:01:39 2007 -0500"
      },
      "message": "ieee80211_rate: missed unlock\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "999acd9c339a761a18d625b13001612ac396ee00",
      "tree": "57498e6de24beb8a998e3a14743e8b7d73869e60",
      "parents": [
        "2bf236d55e5ea2b92ed5235af09997c2995b316b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Oct 28 14:49:33 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Nov 10 21:59:43 2007 -0800"
      },
      "message": "mac80211: don\u0027t allow registering the same rate control twice\n\nPreviously, mac80211 would allow registering the same rate control\nalgorithm twice. This is a programming error in the registration\nand should not happen; additionally the second version could never\nbe selected. Disallow this and warn about it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\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": "dd1cd4c620c174ebbdf78dc01b924115a06de5d3",
      "tree": "a04517b9ee2ede228ec4a8ab96099460060c4245",
      "parents": [
        "9c7d7728baf79c63ae58df95fb39ea13db487599"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 18 17:29:20 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:32 2007 -0700"
      },
      "message": "[MAC80211]: print out wiphy name instead of master device\n\nThis makes mac80211 print out the wiphy name instead of the\nmaster device name where appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.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": "dd00cc486ab1c17049a535413d1751ef3482141c",
      "tree": "d90ff69ea06792b9284f2f2665c96624f121b88a",
      "parents": [
        "3b5ad0797c0e4049001f961a8b58f1d0ce532072"
      ],
      "author": {
        "name": "Yoann Padioleau",
        "email": "padator@wanadoo.fr",
        "time": "Thu Jul 19 01:49:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:50 2007 -0700"
      },
      "message": "some kmalloc/memset -\u003ekzalloc (tree wide)\n\nTransform some calls to kmalloc/memset to a single kzalloc (or kcalloc).\n\nHere is a short excerpt of the semantic patch performing\nthis transformation:\n\n@@\ntype T2;\nexpression x;\nidentifier f,fld;\nexpression E;\nexpression E1,E2;\nexpression e1,e2,e3,y;\nstatement S;\n@@\n\n x \u003d\n- kmalloc\n+ kzalloc\n  (E1,E2)\n  ...  when !\u003d \\(x-\u003efld\u003dE;\\|y\u003df(...,x,...);\\|f(...,x,...);\\|x\u003dE;\\|while(...) S\\|for(e1;e2;e3) S\\)\n- memset((T2)x,0,E1);\n\n@@\nexpression E1,E2,E3;\n@@\n\n- kzalloc(E1 * E2,E3)\n+ kcalloc(E1,E2,E3)\n\n[akpm@linux-foundation.org: get kcalloc args the right way around]\nSigned-off-by: Yoann Padioleau \u003cpadator@wanadoo.fr\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nAcked-by: Pierre Ossman \u003cdrzeus-list@drzeus.cx\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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"
    }
  ]
}
