)]}'
{
  "log": [
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c01d5669356e13f0fb468944c1dd4c6a7e978ad",
      "tree": "fa43345288d7b25fac92b3b35360a177c4947313",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8",
        "a5e944f1d955f3819503348426763e21e0413ba6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -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\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n"
    },
    {
      "commit": "4a1032faac94ebbf647460ae3e06fc21146eb280",
      "tree": "7f31b97beb0406faa1523e619289ad0ab07c9787",
      "parents": [
        "ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06",
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "97ad9139fd68b5c71f44d28d3f9788d89cfd4916",
      "tree": "a4b270e9fc7c55a4c6fc4df5e13cf399463fde27",
      "parents": [
        "60ece4047e4870c7be28dcf661162d8312c161e7"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Mar 29 11:00:21 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 15:24:07 2010 -0400"
      },
      "message": "mac80211: Moved mesh action codes to a more visible location\n\nGrouped mesh action codes together with the other action codes in\nieee80211.h.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1cb561f83793191cf86a2db3948d28f5f42df9ff",
      "tree": "f1d8109a0ed6595e1fb6ef3e5b14b8194deb5215",
      "parents": [
        "de0f60ea94e132c858caa64a44b2012e1e8580b0"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Mar 29 11:00:20 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 06 15:53:28 2010 -0400"
      },
      "message": "mac80211: Handle mesh action frames in ieee80211_rx_h_action\n\nThis fixes the problem introduced in commit\n8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment.\n\nchanges:\nv2 \tAdded missing break (Johannes)\nv3 \tBroke original patch into two (Johannes)\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nCc: stable@kernel.org\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\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": "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": "ea1e4b842049fcc4741096538114871a74859314",
      "tree": "c2336ab480ac0fd62e0dc41b391d99c97158dc9c",
      "parents": [
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\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": "0c3cee72a403e3b4992a5478c9c33d668c246c22",
      "tree": "964883c4d5c80485b82d293832e9fb57e32661df",
      "parents": [
        "214ac9a4ead6cb254451c09d9c8234a76693feb1"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Dec 09 20:25:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 10 16:09:52 2009 -0500"
      },
      "message": "net/mac80211: Correct size given to memset\n\nMemset should be given the size of the structure, not the size of the pointer.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nT *x;\nexpression E;\n@@\n\nmemset(x, E, sizeof(\n+ *\n x))\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "136cfa28615ccce0f9374811480e0b81c4191ea5",
      "tree": "9a07d6f316d19f85fd989b17e75d931f907c7d1a",
      "parents": [
        "fe7a5d5c1ad659bf0ec7dc171e122aeefa16ac25"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Wed Nov 18 18:40:00 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:27 2009 -0500"
      },
      "message": "mac80211: use a structure to hold the mesh config information element\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15ff63653e507ec928a4a4386405a82446e096b1",
      "tree": "4e2ac0e39ab2142ae5115c4f1067e2962190e696",
      "parents": [
        "d84f323477260e773d5317ad7cbe50f76115cb47"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Nov 17 13:34:04 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:18 2009 -0500"
      },
      "message": "mac80211: use fixed broadcast address\n\nThe netdev broadcast address cannot change from\nall-ones so there\u0027s no need to use it; we can\ninstead hard-code it. Since we already have an\ninstance in tkip.c, which will be shared if it\nis marked static const, doing this reduces text\nsize at no data/bss cost.\n\nThe real motivation for this is, of course, the\ndesire to get rid of almost all uses of netdevs\nin mac80211 so that auditing their use becomes\neasier.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "264d9b7d8a629620c8de84c614910c3164e935f8",
      "tree": "7726ace82027222514de67fb266d9db128d838d2",
      "parents": [
        "63c5723bc3af8d4e86984dd4ff0c78218de418d0"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:58 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 13 17:43:57 2009 -0500"
      },
      "message": "mac80211: update copyrights to 2009\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "63c5723bc3af8d4e86984dd4ff0c78218de418d0",
      "tree": "fe900ef2a92377c49c6b3124bb5741a1ac04d436",
      "parents": [
        "e304bfd30f356f7b75d30cad0029ecca705fd590"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:57 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 13 17:43:57 2009 -0500"
      },
      "message": "mac80211: add nl80211/cfg80211 handling of the new mesh root mode option.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e304bfd30f356f7b75d30cad0029ecca705fd590",
      "tree": "64b466a5d6b70dba13605d5ec1ae656801caa212",
      "parents": [
        "d19b3bf6384e66ac6e11a61ee31ed2cfe149f4d8"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:56 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 13 17:43:56 2009 -0500"
      },
      "message": "mac80211: implement a timer to send RANN action frames\n\nRANN (Root Annoucement) frame TX. Send an action frame every second\ntrying to build a path to all nodes on the mesh.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d19b3bf6384e66ac6e11a61ee31ed2cfe149f4d8",
      "tree": "2ec825639458dafddecc7e3d0f83afff9cff0cfa",
      "parents": [
        "be125c60e46e165fbfe33db36a4a9d943d560a5b"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:55 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 13 17:43:56 2009 -0500"
      },
      "message": "mac80211: replace \"destination\" with \"target\" to follow the spec\n\nResulting object files have the same MD5 as before.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "be125c60e46e165fbfe33db36a4a9d943d560a5b",
      "tree": "96a40fd3b64c23a2f9057c717c0a84b8f7099377",
      "parents": [
        "36f0d5f537885179c8fa92a70d4fcfb3a336b082"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:54 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 13 17:43:56 2009 -0500"
      },
      "message": "mac80211: add the DS params to the beacon\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0938393f02c5a4db75a6e38ee31645c974169bb5",
      "tree": "2f2d29be8caf3b21fc79d0d0b67f5657528009bf",
      "parents": [
        "23c7a29cd020250646249592941261777cbeaf16"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:43 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 11 15:23:57 2009 -0500"
      },
      "message": "mac80211: update peer link management IE and action frames\n\nUpdate the length and format of the peer link management action frames.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f2fda9594f083981ad54c1994863875fe680925",
      "tree": "3a409f293de7fd2569d6d962165e4704898bfe6e",
      "parents": [
        "a1935218da8964a033bdf68c591629741c94eeec"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:41 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 11 15:23:57 2009 -0500"
      },
      "message": "mac80211: implement the meshconf formation info field\n\nThe Mesh Configuration Formation Info field contains the number of\nneighbors.  This means that the beacon must be updated every time a\npeer joins or leaves.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003crpaulo@gmail.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3491707a070c1183c709516b2f876f798c7a9a84",
      "tree": "ff12e29a8009b18cfb859ca780902cef5daa1e8e",
      "parents": [
        "ac9d1a7bef71afa4837769ef38edb0f7e2ef8028"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:39 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 11 15:23:56 2009 -0500"
      },
      "message": "mac80211: update meshconf IE\n\nThis updates the Mesh Configuration IE according to the latest\ndraft (3.03).\nNotable changes include the simplified protocol IDs.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6b9ac4425d6ec871faf54540e0f1c5ff420a8f29",
      "tree": "daaf854037b351e0bbbd66e03a86993e3d4173ff",
      "parents": [
        "68676df00d956e191c442cb697154a7a18a1e054"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Tue Oct 20 21:21:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:48:35 2009 -0400"
      },
      "message": "mesh: use set_bit() to set MESH_WORK_HOUSEKEEPING.\n\nThis makes the mesh housekeeping timer work properly on big endian\nsystems.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9e03fdfd05e733e1136d431973625b174029c5e6",
      "tree": "740b4076711c1e5c351a61a38755be3e6cd3c1eb",
      "parents": [
        "90d6f92828a081a86cb4f9644b6eef6207855050"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Aug 20 09:21:45 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:24 2009 -0400"
      },
      "message": "mac80211: Update mesh config IE to 11s draft 3.02\n\nThe mesh config information element has changed significantly since draft 1.08\nThis patch brings it up to date.\n\nThanks to Sam Leffler and Rui Paulo for identifying this.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "18889231e4527dfe23145efe318e74744794a95d",
      "tree": "bcb509dab37d80f6dbbfb6671a530aa882c9975e",
      "parents": [
        "5b365834255d7c90fc724b032c814dfa297aacf9"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 10 12:15:52 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:14:01 2009 -0400"
      },
      "message": "mac80211: Move mpath and mpp growth to mesh workqueue.\n\nThis prevents calling rcu_synchronize from within the tx path by moving the\ntable growth code to the mesh workqueue.\n\nMove mesh_table_free and mesh_table_grow from mesh.c to mesh_pathtbl.c and\ndeclare them static.\n\nAlso, re-enable mesh in Kconfig and update the configuration description.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nTested-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5b365834255d7c90fc724b032c814dfa297aacf9",
      "tree": "a8b1898a81427143b6f29d9e53e2947576341508",
      "parents": [
        "5815814bfad5b3f88ff58ab90aaf09dd69ab8da2"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 10 12:15:51 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:14:01 2009 -0400"
      },
      "message": "mac80211: Assign a default mesh beaconing interval.\n\nThe mesh stack was enabling beaconing without specifying an interval.  This\npatch defines a default beaconing interval of 1s.\n\nIncidentally, this fixes mesh beaconing in mac80211_hwsim devices.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3c5772a5279de9eadfff7adb5ddea08106495fff",
      "tree": "297772521c18283ccfa19aacb090f396fa2b399e",
      "parents": [
        "a9e3091bf08ddea35f172549a8a21d5bd6ee6129"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 10 12:15:48 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:14:00 2009 -0400"
      },
      "message": "mac80211: Use 3-address format for mesh broadcast frames.\n\nThe 11s task group recently changed the frame mesh multicast/broadcast frame\nformat to use 3-address.  This was done to avoid interactions with widely\ndeployed lazy-WDS access points.\n\nThis patch changes the format of group addressed frames, both mesh-originated\nand proxied, to use the data format defined in draft D2.08 and forward.  The\naddress fields used for group addressed frames is:\n\nIn 802.11 header\n ToDS:0  FromDS:1\n addr1: DA  (broadcast/multicast address)\n addr2: TA\n addr3: Mesh SA\n\nIn address extension header:\n addr4: SA  (only present if frame was proxied)\n\nNote that this change breaks backward compatibility with earlier mesh stack\nversions.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c03e20fc9a6ec5741d9df561130ecba38ef50eb6",
      "tree": "704da56b17f940e2b54c45619a89d7aecfa654e8",
      "parents": [
        "c10e47f458653a68b1d3956237b7bf2e1ab1e8da"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Aug 04 15:06:26 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:12:40 2009 -0400"
      },
      "message": "mac80211: fix compilation of mesh (although its disabled)\n\nMesh is currently disabled on mac80211, its marked\nas broken. This patch gets it to compile though,\nto account for the mac80211 workqueue changes.\nThere was a simple typo in the patches for mesh\nfor the workqueue migration, but we never compile\ntested it as we couldn\u0027t even select mesh as its\nbroken. Lets at least let it compile for those\ninterested in getting it fixed.\n\nReported-by: Pat Erley \u003cpat-lkml@erley.org\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\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": "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": "a43816df2a1a61effcb701037bdf63621d066182",
      "tree": "33346bbbb1621dfc7966c2f4ad8b1a76f4145d18",
      "parents": [
        "ec3f149017ef3fd21343b1dcec3589eec6ba5dd5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 11:39:26 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:10 2009 -0400"
      },
      "message": "mac80211: mesh: fix two small problems\n\n1) there\u0027s a spin_lock() that needs to be spin_lock_bh()\n2) action frames of size 24 might cause an out-of-bounds\n   memory access (for the 25th byte only, so no big deal)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f1d58c2521eb160178b2151d6326d8dc5d7c8560",
      "tree": "af373bb1a5fbb6bc9436d29095133992d33d6598",
      "parents": [
        "18ad01c43918751cc22f8ee28f6b38b8954a55b2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 13:13:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:54 2009 -0400"
      },
      "message": "mac80211: push rx status into skb-\u003ecb\n\nWithin mac80211, we often need to copy the rx status into\nskb-\u003ecb. This is wasteful, as drivers could be building it\nin there to start with. This patch changes the API so that\ndrivers are expected to pass the RX status in skb-\u003ecb, now\naccessible as IEEE80211_SKB_RXCB(skb). It also updates all\ndrivers to pass the rx status in there, but only by making\nthem memcpy() it into place before the call to the receive\nfunction (ieee80211_rx(_irqsafe)). Each driver can now be\noptimised on its own schedule.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4a27096bbe2cad4c6e78802a0d9dfe0e598a1129",
      "tree": "c2d230e74d2b43c88bf3e651592d9baa622875da",
      "parents": [
        "75de874f5c35f679c6370fccc2bf4930e638ef3b"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:45:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:36 2009 -0700"
      },
      "message": "mac80211: Use rcu_barrier() on unload.\n\nThe mac80211 module uses rcu_call() thus it should use rcu_barrier()\non module unload.\n\nThe rcu_barrier() is placed in mech.c ieee80211_stop_mesh() which is\ninvoked from ieee80211_stop() in case vif.type \u003d\u003d NL80211_IFTYPE_MESH_POINT.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bb644a0fd25a5e083ecbfaa92a211db99aa6ef7",
      "tree": "d2a6d5ff2323db0c475be15c63bb8fc55482a1e2",
      "parents": [
        "cc32abd494c0a8f76f2638e3f3a76e01c68bc9ea"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun May 17 11:40:42 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:25 2009 -0400"
      },
      "message": "mac80211: cancel/restart all timers across suspend/resume\n\nWe forgot to cancel all timers in mac80211 when suspending.\nIn particular we forgot to deal with some things that can\ncause hardware reconfiguration -- while it is down.\n\nWhile at it we go ahead and add a warning in ieee80211_sta_work()\nif its run while the suspend-\u003eresume cycle is in effect. This\nshould not happen and if it does it would indicate there is\na bug lurking in either mac80211 or mac80211 drivers.\n\nWith this now wpa_supplicant doesn\u0027t blink when I go to suspend\nand resume where as before there where issues with some timers\nrunning during the suspend-\u003eresume cycle. This caused a lot of\nincorrect assumptions and would at times bring back the device\nin an incoherent, but mostly recoverable, state.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d0ddec5b2b859f06116f631fc0ffe94fbceb556",
      "tree": "9bf3cdfcbbefcb34f5984e6d797f488ebe358196",
      "parents": [
        "57c4d7b4c4986037be51476b8e3025d5ba18d8b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:13:26 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:36 2009 -0400"
      },
      "message": "mac80211: unify config_interface and bss_info_changed\n\nThe config_interface method is a little strange, it contains the\nBSSID and beacon updates, while bss_info_changed contains most\nother BSS information for each interface. This patch removes\nconfig_interface and rolls all the information it previously\npassed to drivers into bss_info_changed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "00d3f14cf9f12c21428121026a5e1d5f65926447",
      "tree": "e5f355deef7b9ebb5b3bf65f9d589bd2a1cfbafa",
      "parents": [
        "79420f09e76e8e1dd1149d6ce9c20e06cbb5802a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:26:00 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:58 2009 -0500"
      },
      "message": "mac80211: use cfg80211s BSS infrastructure\n\nRemove all the code from mac80211 to keep track of BSSes\nand use the cfg80211-provided code completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "078e1e60dd6c6b0d4bc8d58ccb80c008e8efc9ff",
      "tree": "7fa2580b76a5693a37449e9cc075eee2394bb0c3",
      "parents": [
        "07c1e852514e862e246b9f2962ce8fc0d7ac8ed1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 22 18:07:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:13 2009 -0500"
      },
      "message": "mac80211: Add capability to enable/disable beaconing\n\nThis patch adds a flag to notify drivers to start and stop\nbeaconing when needed, for example, during a scan run. Based\non Sujith\u0027s first patch to do the same, but now disables\nbeaconing for all virtual interfaces while scanning, has a\nseparate change flag and tracks user-space requests.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "881d948c23442173a011f1adcfe4c95bf7f27515",
      "tree": "3d7e6a4bf23b960cf45a4d2c5734578168ce0424",
      "parents": [
        "369391db1aabd089cefaadaabb6d9fc82e78b0a7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 21 15:13:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:09 2009 -0500"
      },
      "message": "wireless: restrict to 32 legacy rates\n\nSince the standards only define 12 legacy rates, 32 is certainly\na sane upper limit and we don\u0027t need to use u64 everywhere. Add\nsanity checking that no more than 32 rates are registered and\nchange the variables to u32 throughout.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1239cd58d237fa6ad501acaec8776262a5784ec8",
      "tree": "13f991cfc6a77e52a336aa75a94d94f5fd919f68",
      "parents": [
        "97c8b013da7a8ec7aa0a192489d4e7a33c4127fc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 28 11:12:57 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:10:16 2008 -0500"
      },
      "message": "wireless: move mesh config length constant\n\nThis is a constant from the 802.11 specification.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c6a1fa12d206882757264869f8e32d606b930e2a",
      "tree": "c69a7f8ebe43481a985acd7844d35a26bd9a61ce",
      "parents": [
        "36ff382d0065c9980c203c7cd3b3eb26251e9397"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 07 12:04:32 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 18:05:59 2008 -0400"
      },
      "message": "mac80211: minor code cleanups\n\nNothing very interesting, some checkpatch inspired stuff,\nsome other things.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "133b822638ff01eb1e32e1917b197c40ed095ddd",
      "tree": "8b96f00426728f3c05ba05f387240f0279512a75",
      "parents": [
        "9e5e6c327defcef19dabad64335ee68bb55b2355"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 16 14:18:59 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:00 2008 -0400"
      },
      "message": "mac80211: make master iface not wireless\n\nThere\u0027s no need to register the master netdev with cfg80211,\nin fact, this is quite dangerous and lead to having to add\nchecks for the master interface all over the config handlers.\nThis patch removes the \"ieee80211_ptr\" from the master iface\nin favour of having a small netdev_priv() associated with\nthe master interface that stores the ieee80211_local pointer.\nBecause of this, a lot of code in the configuration handlers\ncan go away. To make this patch easier to verify I have also\nremoved a number of wiphy_priv() calls in favour of getting\nthe sdata first and then the local pointer from that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c2b13452b283f9c4a5b02a6b53ed6416ebf4c03c",
      "tree": "756b8c9668c643293a46389b8b8f34b8efd3d2ea",
      "parents": [
        "213cd118cbb88b76ae48f92cfb7dbef9a83cca62"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:22 2008 -0400"
      },
      "message": "mac80211: clean up scan namespace\n\nMost of the scan functions are called ieee80211_sta_scan_*\nor similar, make clean it up so they are all just called\nieee80211_scan_*.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b7413430d4d2a6168e68231d9f93763047b6d60c",
      "tree": "18e85326ddb298500820252f2e510b58319b52d2",
      "parents": [
        "472dbc45dc1966284de72d7de15690c17ed2cf33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:50 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: fix work race\n\nWhen we stop an interface, the work on it may still be pending\nor running. We do cancel the timer, but we do not currently\nprotect against the work struct. The race is very unlikely to\nhit -- it\u0027ll happen only when the driver is using mac80211\u0027s\nworkqueue to run long-running tasks and the sta/mesh works are\ndelayed for quite a bit.\n\nThis patch fixes it by cancelling the work explicitly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "472dbc45dc1966284de72d7de15690c17ed2cf33",
      "tree": "e8bfb88067f7fd8845978d1613f868e6a4499999",
      "parents": [
        "7c95069522d02ff144cd421be6618dce619caf7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:49 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: split off mesh handling entirely\n\nThis patch splits off mesh handling from the STA/IBSS.\nUnfortunately it increases mesh code size a bit, but I\nthink it makes things clearer. The patch also reduces\nper-interface run-time memory usage.\n\nAlso clean up a few places where ifdef is not required.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b171e19ed08c8ba832e5325fadf1be493f56665d",
      "tree": "017208f9fcc4ef2cc3fe5cc3f262d2455eda9f61",
      "parents": [
        "143b11c03cd42f2284efe5128afc057d8fc86c78",
        "7c19a3d280297d43ef5ff7c6b205dc208a16d3d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tnet/mac80211/mlme.c\n"
    },
    {
      "commit": "667d8af9af775a5fea203890978037ea750816cc",
      "tree": "5bdc41ed57b9a5080fd63fafe17c0d5bbd0b0508",
      "parents": [
        "087d833e5a9f67ba933cb32eaf5a2279c1a5b47c"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Aug 23 18:27:38 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:06:32 2008 -0400"
      },
      "message": "net/mac80211/mesh.c: correct the argument to __mesh_table_free\n\nIn the function mesh_table_grow, it is the new table not the argument table\nthat should be freed if the function fails (cf commit\nbd9b448f4c0a514559bdae4ca18ca3e8cd999c6d)\n\nThe semantic match that detects this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nexpression E,f;\nposition p1,p2,p3;\nidentifier l;\nstatement S;\n@@\n\nx \u003d mesh_table_alloc@p1(...)\n...\nif (x \u003d\u003d NULL) S\n... when !\u003d E \u003d x\n    when !\u003d mesh_table_free(x)\ngoto@p2 l;\n... when !\u003d E \u003d x\n    when !\u003d f(...,x,...)\n    when any\n(\nreturn \\(0\\|x\\);\n|\nreturn@p3 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\np3 \u003c\u003c r.p3;\n@@\n\nprint \"%s: call on line %s not freed or saved before return on line %s via line %s\" % (p1[0].file,p1[0].line,p3[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f698d856f65c3fea091cc303a135967965c5b880",
      "tree": "94c7c2d561e5191646dc5798683c0aca97973773",
      "parents": [
        "fef1643bf0cdd092a52dc3378479e4811fd65152"
      ],
      "author": {
        "name": "Jasper Bryant-Greene",
        "email": "jasper@amiton.co.nz",
        "time": "Sun Aug 03 12:04:37 2008 +1200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate\n\nThis patch replaces net_device arguments to mac80211 internal functions\nwith ieee80211_{local,sub_if_data} as appropriate.\n\nIt also does the same for many 802.11s mesh functions, and changes the\nmesh path table to be indexed on sub_if_data rather than net_device.\n\nIf the mesh part needs to be a separate patch let me know, but since\nmesh uses a lot of mac80211 functions which were being converted anyway,\nthe changes go hand-in-hand somewhat.\n\nThis patch probably does not convert all the functions which could be\nconverted, but it is a large chunk and followup patches will be\nprovided.\n\nSigned-off-by: Jasper Bryant-Greene \u003cjasper@amiton.co.nz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bd9b448f4c0a514559bdae4ca18ca3e8cd999c6d",
      "tree": "090c74c16e3660e329d92f6435d28732401c1a5d",
      "parents": [
        "a3538b19a6d226f9d3d9b18865468370009dec55"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 07 19:57:11 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:47:45 2008 -0400"
      },
      "message": "mac80211: Consolidate hash kfree-ing in mesh.c.\n\nThere are already two places, that kfree the mesh_table and\nits buckets.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a3538b19a6d226f9d3d9b18865468370009dec55",
      "tree": "d5a6d557d4fb9773817f9c657a8f22da53dd7d1c",
      "parents": [
        "3282aea9ea5644a5b0161ad0fbd70fbf1099a470"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 07 19:55:59 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:47:45 2008 -0400"
      },
      "message": "mac80211: Merge error paths in mesh_table_grow().\n\nThis is the first (of two) clean ups after the fixes above.\n\nThe err variable is not even required after this cleaning.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4caf86c6928cfaca270327bc944f901c2e2a8f50",
      "tree": "6f6a1ecac1a4399c6597510f4076e19b1e30f10e",
      "parents": [
        "5194ee82b4aafc35b32c96db11bdacea9bf548be"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 07 19:47:01 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:47:42 2008 -0400"
      },
      "message": "mac80211: Prepare mesh_table_grow to failing copy_node callback.\n\nThe mesh_path_node_copy() performs kmalloc() and thus - may fail\n(well, it does not now, but I\u0027m fixing this right now). Its caller -\nthe mesh_table_grow() - isn\u0027t prepared for such a trick yet.\n\nThis preparation is just flush the new hash and make copy_node()\nreturn an int value.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ef269254772a0d2253c85cafe160e3f6528eb292",
      "tree": "d82270745af91c49e657ec3747d9b99d0172ae67",
      "parents": [
        "df44205455773852a6af10a7c6ed768fe8a86b31"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Mon May 05 12:02:35 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 12 21:22:18 2008 -0400"
      },
      "message": "mac80211: fix incorrect mesh header length\n\nThis should have been updated at the same time we were transitioning from 3 byte\nto 4 byte mesh sequence number. Pointed out by Johannes Berg.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "51ceddade0fb1e15f080b2555f3b3e1d68c6707e",
      "tree": "341183c318900251890f341e4b672f33791ae6b1",
      "parents": [
        "809917903127804c2b2ac76342ab0f29f4b394d3"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Wed Apr 23 12:15:29 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 30 20:34:26 2008 -0400"
      },
      "message": "mac80211: use 4-byte mesh sequence number\n\nThis follows the new 802.11s/D2.0 draft.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "247367016305637fb981db020679520e354c80c4",
      "tree": "d1ffcbb1e88cf38eb2dc40efa80f2f6d45aa9c24",
      "parents": [
        "8eefca4888c986d993b2571eb31f0397a5d0a178"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 14:15:46 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 14:15:46 2008 -0400"
      },
      "message": "Revert \"mac80211: use a struct for bss-\u003emesh_config\"\n\nThis reverts commit 6c4711b4697d93424e4b1f76a9929ba844d714a5.\n\nThat patch breaks mesh config comparison between beacons/probe reponses, so\nevery beacon from a mesh network would be added as a new bss. Since the\ncomparison has to be performed for every received beacon I believe it is best to\nsave the mesh config in a format easy to compare, rather than do a bunch of\nunaligned accesses to compare field by field.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6c4711b4697d93424e4b1f76a9929ba844d714a5",
      "tree": "84fe42a88c9bac873889bd03ae8173db1b2b3aeb",
      "parents": [
        "05e5e88373d91c75e9262a3f984be511960e510d"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Mon Mar 31 17:39:18 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 01 17:14:12 2008 -0400"
      },
      "message": "mac80211: use a struct for bss-\u003emesh_config\n\nThis allows cleaner code when accesing bss-\u003emesh_config components.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4e08ea141e6d663dec31b31d6289baeaaa2a3a2",
      "tree": "f6ca4b30e480f803f5f83c2d60e0df29fb2177ea",
      "parents": [
        "cfa22c716f65b4d286a68aeacee4a7361a4035e6"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Fri Feb 29 15:46:08 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 16:40:52 2008 -0500"
      },
      "message": "mac80211: add PLINK_ prefix and kernel doc to enum plink_state\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b091cd4941912081730ffa17948da6d148c822d",
      "tree": "a406fc67bab7790cf1ba412636080b70db694195",
      "parents": [
        "1d1b535969ca5572d87a6fcac49e1e1a31241b99"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Fri Feb 29 12:20:39 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 16:40:49 2008 -0500"
      },
      "message": "mac80211: move comment to better location\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nAcked-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": "902acc7896d7649fb30e4b22bd4e643c7f34b02c",
      "tree": "8d8f2838fead8417e16e801383ddb2691a89719f",
      "parents": [
        "f7a921443740d7dafc65b17aa32531730d358f50"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Feb 23 15:17:19 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:42 2008 -0500"
      },
      "message": "mac80211: clean up mesh code\n\nVarious cleanups, reducing the #ifdef mess and other things.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e3c8736820bf72a8ad10721c7e31d36d4fa7790",
      "tree": "21c6afeff5a649c40d8fd1f166b0c56aaf2e21c0",
      "parents": [
        "ccf80ddfe4923ae75cd3536723880277d285e779"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Sat Feb 23 15:17:09 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:41 2008 -0500"
      },
      "message": "mac80211: support functions for mesh\n\nThe two important features coded in mesh.c are:\n\nRecently Multicast Cache: in on-demand HWMP, multicast traffic is retransmitted\nby every receiving node. Even though a mesh TTL counter avoids infinite loops,\nit is also necessary to avoid traffic explosion by keeping a cache of multicast\nmesh frame that have been received recently. With this feature, maximum number\nof retransmissions of a multicast frame for the case of N nodes within the range\nof each other would be N. Without it, the maximum number of retransmissions\nwould be in the order of N^(MESH_TTL - 1).\n\nCode to support mesh tables.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
