)]}'
{
  "log": [
    {
      "commit": "94c514fe240fc0dd02187b78facefde8b6744634",
      "tree": "d61b01327c2264e4b4e002180076135f98d40533",
      "parents": [
        "ad12886091cbc955dafd6cb91de2411b3ff36b39"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue Apr 24 14:18:28 2012 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 24 14:56:10 2012 -0400"
      },
      "message": "mac80211: Adds clean sdata helper\n\nAdds hepler to clean sdata ieee80211_clean_sdata similar way as\nieee80211_setup_sdata is implemented. The function will be used by other\ninterfaces later.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f743ff4907fa5bc2b460f48ace831a560806a9fb",
      "tree": "2bf0f42ee4935ff5ee558d5db6a6e529ec1997e3",
      "parents": [
        "54ab1ffb6cd94e5c013d61c192e78e30fdf25f8a"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Wed Apr 18 19:23:43 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 23 15:34:07 2012 -0400"
      },
      "message": "mac80211: refactor mesh peer rate handling\n\nTo avoid passing supp_rates and basic_rates around all the time, just\nderive these when needed in mesh_matches_local() and mesh_peer_init().\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fe40cb6274988852aa5a84440d8f81c00cea4028",
      "tree": "06bc58c36c4c9f50e4f737b650a8004d9287bb6b",
      "parents": [
        "9ebb61a23d90703344fc609fbee8da67b1e7456c"
      ],
      "author": {
        "name": "Ashok Nagarajan",
        "email": "ashok@cozybit.com",
        "time": "Mon Apr 02 21:21:22 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:47 2012 -0400"
      },
      "message": "mac80211: Check basic rates when peering\n\nSection 13.2.3 of IEEE 80211s standard requires BSSBasicRateSet of mesh nodes\nto be identical to establish peer link.\n\nSigned-off-by: Ashok Nagarajan \u003cashok@cozybit.com\u003e\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dbf498fbafa2c23139d5a990e94ed78bafbbea19",
      "tree": "723a2ed4575ab2178cbd210d85a19d5c968a95a1",
      "parents": [
        "9bdd3a6bf8513a0a9eda031d15b36e4677854243"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Sat Mar 31 11:31:32 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 15:20:31 2012 -0400"
      },
      "message": "mac80211: Implement mesh synchronization framework\n\nThis patch adds MBSS extensible synchronization framework (Sec.\n13.13.2 of IEEE Std. 802.11-2012).\n\nThe framework is implemented via an ops table which defines the\nfollowing functions:\n\n    rx_bcn_presp() - this is called every time a mesh beacon is\nreceived.\n    adjust_tbtt() - this is called immediately before a beacon is about\nto be transmitted.\n\nThe default neighbor offset synchronization defined in the standard is\nimplemented.  We also provide template functions for vendor specific\nmethods.\n\nWhen neighbor offset synchronization is active (which is the default)\nmesh neighbors in the same MBSS will track timing offsets to each other\nand compensate clock drift.\n\nIn our tests we observed that this mesh synchronization implementation\nsuccessfully corrected drifts between stations of ~2PPM while\nintroducing a jitter of ~20us.\n\nIt is also possible to test this framework on mac80211_hwsim simulated\nphys to see how it behaves under different topologies, over poor links,\netc.\n\nSigned-off-by: Marco Porsch \u003cmarco.porsch@s2005.tu-chemnitz.de\u003e\nSigned-off-by: Pavel Zubarev \u003cpavel.zubarev@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d2a079fd48c05235b86016a33a79cb86a86e15a8",
      "tree": "060be7f455d64165eb5f5ca7187aac73bf5d79e2",
      "parents": [
        "30899cc6ab4d4b63d43f6d652d1ecf9107eadb8d"
      ],
      "author": {
        "name": "Chun-Yeow Yeoh",
        "email": "yeohchunyeow@gmail.com",
        "time": "Fri Mar 23 18:48:51 2012 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 16:37:10 2012 -0400"
      },
      "message": "mac80211: fix the RANN propagation issues\n\nThis patch is intended to solve the follwing issues in RANN propagation:\n[1] The interval in propagated RANN should be based on the interval of received RANN.\n[2] The aggregated path metric for propagated RANN is as received plus own link metric\n    towards the transmitting mesh STA (not root mesh STA).\n[3] The comparison of path metric for RANN with same sequence number should be done\n    before deciding whether to propagate or not.\n\nSigned-off-by: Chun-Yeow Yeoh \u003cyeohchunyeow@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "074d46d1d23f27488a3f314e29cae2453541f17d",
      "tree": "c6abb99637c808f6eb9da722c3197cc980ce1a98",
      "parents": [
        "f69b9c79c99b607a8d6b1d9e1913861154af8c63"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Mar 15 19:45:16 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 16:05:55 2012 -0400"
      },
      "message": "wireless: rename ht_info to ht_operation\n\nSince some of the HT code pre-dates 802.11n-2009\nsome names are wrong. The one that bothers me most\nis that \"HT operation\" is called \"HT information\"\nin our code and that causes confusion.\n\nRename \"HT information\" to \"HT operation\" and also\nthe control_chan field to primary_chan to match\nthe name used in the spec.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Bing Zhao \u003cbzhao@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3d045a54488b69b0024309b18da5024c036c3152",
      "tree": "1841e677d70cb64df237c7e78c585ad15142f61c",
      "parents": [
        "be0b281e8f7afd56d2250a568b85dafc850bc9ae"
      ],
      "author": {
        "name": "Chun-Yeow Yeoh",
        "email": "yeohchunyeow@gmail.com",
        "time": "Tue Feb 28 22:00:06 2012 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 05 15:23:14 2012 -0500"
      },
      "message": "mac80211: Fix the generation of PREQs in proactive RANN mechanism of HWMP\n\nAccording to Section Y.7.4 Actions on receipt of proactive RANN, an individually\naddressed PREQ should be generated towards the neighbor peer mesh STA indicated\nin the RANN Sender Address field in the forwarding information.\n\nSigned-off-by: Chun-Yeow Yeoh \u003cyeohchunyeow@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d26ad3771fe7405bf80d736cae9ba4c706a7b1d8",
      "tree": "d6c071ed6e30802ab9c70a655b03c60d2af5a3ff",
      "parents": [
        "6b5773ebd5c9719aec30e58429db2d3b3f343d2c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 20 11:38:41 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 27 14:06:32 2012 -0500"
      },
      "message": "mac80211: clean up asm/unaligned.h inclusion\n\nSome files implicitly get this via mesh.h\nwhich itself doesn\u0027t need it, so move the\ninclusion into the right files. Some other\nfiles don\u0027t need it at all but include it,\nso remove it from there.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0cfda8519c85eb279166fb55a8553ee66eac9b35",
      "tree": "55f917c9402c0164a76c80b4675ea173562a869f",
      "parents": [
        "dca7e9430cb3e492437a5ce891b8b3e315c147ca"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Nov 24 17:15:25 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:44:07 2011 -0500"
      },
      "message": "mac80211: don\u0027t initiate path discovery when forwarding frame with unknown DA\n\nWe used to initiate a path discovery when receiving a frame for which\nthere is no forwarding information. To cut down on PREQ spam, just send\na (gated) PERR in response.\n\nAlso separate path discovery logic from nexthop querying. This patch\nmeans we no longer queue frames when forwarding, so kill the PERR TX\nstuff in discard_frame().\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f3011cf9deb689bd68279c728c501a4166983c19",
      "tree": "7d9945a2934c6de78063c358a6d350af8b6a19a9",
      "parents": [
        "7e1e386421e2ec7804b77f2c1c8e2517e82ecb7e"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Nov 03 21:11:10 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:01:02 2011 -0500"
      },
      "message": "mac80211: Avoid filling up mesh preq queue with redundant requests\n\nDon\u0027t accept redundant PREQs for a given destination. This fixes a\nproblem under high load:\n\nkernel: [20386.250913] mesh_queue_preq: 235 callbacks suppressed\nkernel: [20386.253335] Mesh HWMP (mesh0): PREQ node queue full\nkernel: [20386.253352] Mesh HWMP (mesh0): PREQ node queue full\n(...)\n\nThe 802.11s protocol has a provision to limit the rate of path requests\n(PREQs) are transmitted (dot11MeshHWMPpreqMinInterval) but there was no\nlimit on the rate at which PREQs were being queued up.  There is a valid\nreason for queuing PREQs: this way we can even out PREQ bursts.  But\nqueueing multiple PREQs for the same destination is useless.\n\nReported-by: Pedro Larbig \u003cpedro.larbig@carhs.de\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "176f36086e8a00bdf701dc6e4c5a8784ef6529df",
      "tree": "808f70cf8db3eff72f66941516a3d39594ad6992",
      "parents": [
        "42e7aa771196d8129d9deaee950b3177a443b8cf"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Wed Oct 26 14:47:27 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 08 15:54:33 2011 -0500"
      },
      "message": "mac80211: add HT IEs to mesh frames\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: Ashok Nagarajan \u003canagar6@uic.edu\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "768db3438b4b48a33d073093bb364e624409cab7",
      "tree": "72e2d33d14484d46c16a2880df9c5d633ce7683c",
      "parents": [
        "109086ce0b0f94760bdb0e8e2566ff8a2d673639"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Wed Sep 28 14:12:51 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:06 2011 -0400"
      },
      "message": "mac80211: standardize adding supported rates IEs\n\nRelocate the mesh implementation of adding the (extended) supported\nrates IE to util.c, anticipating its use by other parts of mac80211.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nCc: Kalyan C Gaddam \u003cchakkal@iit.edu\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f5e50cd0757cc97cd1caded0d3f07ff09b5319e4",
      "tree": "6a223d09ae0a6122d7d6cd99da63d3251a8eabf1",
      "parents": [
        "ece1a2e7e86078c8379937b546e32cb7f25fcb6c"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 29 13:23:05 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:42:32 2011 -0400"
      },
      "message": "mac80211: Improve mpath state locking\n\nNo need to take the mpath state lock when an mpath is removed.\nAlso, no need checking the lock when reading mpath flags.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ece1a2e7e86078c8379937b546e32cb7f25fcb6c",
      "tree": "f15c838069746175237e3639f85e800d712f88b9",
      "parents": [
        "af089c15cb13e1c5d984e41f495c8363dd5b1e30"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 29 13:23:04 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:42:32 2011 -0400"
      },
      "message": "mac80211: Remove mesh paths when an interface is removed\n\nWhen an interface is removed, the mesh paths associated with it should\nalso be removed.\n\nThis fixes a bug we observed when reloading a device driver module\nwithout reloading mac80211s.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0507e159a2b590666982b53ecf6fb2843a5bb423",
      "tree": "a5c0aefae3ea789fb1b0ef9019372e534b93aecc",
      "parents": [
        "699403dbd41998a56d1d92d612ac261e5085a99f"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Tue Aug 09 16:45:10 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 24 13:59:43 2011 -0400"
      },
      "message": "{nl,cfg,mac}80211: let userspace set RANN interval\n\nAllow userspace to set Root Announcement Interval for our mesh\ninterface. Also, RANN interval is now in proper units of TUs.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ee68e5b39de5cefecf147c58711f8ab01c21231",
      "tree": "59a39c4dc5a38497aa786689552136d95c690ecf",
      "parents": [
        "00e3f25c8556384bfec2a168c41e885fa6a7748c"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Tue Aug 09 16:45:08 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 24 13:59:42 2011 -0400"
      },
      "message": "mac80211: mesh gate implementation\n\nIn this implementation, a mesh gate is a root node with a certain bit\nset in its RANN flags. The mpath to this root node is marked as a path\nto a gate, and added to our list of known gates for this if_mesh. Once a\npath discovery process fails, we forward the unresolved frames to a\nknown gate. Thanks to Luis Rodriguez for refactoring and bug fix help.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "25d49e4d63564c7004a4d6735d1d8c3cc41a7394",
      "tree": "c052863386c4744beb808283cc3a3ff768d417e6",
      "parents": [
        "36c704fded53ee0d6866e8ae7f7e3d29cd4315b9"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Aug 11 19:35:15 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:46:00 2011 -0400"
      },
      "message": "mac80211: update mesh path selection frame format\n\nMake mesh path selection frames Mesh Action category, remove outdated\nMesh Path Selection category and defines, use updated reason codes, add\nmesh_action_is_path_sel for readability, and update/correct path\nselection IEs.\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "082ebb0c258d28af7452b19df9ef8b7553f37690",
      "tree": "a7cb2f8e5cf55c4000b549b6ff29c1c99f447825",
      "parents": [
        "f6a3e99da82167e066ebde975ec604638b42d816"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Aug 11 19:35:10 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:45:59 2011 -0400"
      },
      "message": "mac80211: fix mesh beacon format\n\nCorrect ordering of IEs in the mesh beacon while removing unneeded IEs\nfrom mesh peering frames. Set privacy bit in capability info if security\nis enabled. Add utility functions to aid in construction\nof IEs and reduce code duplication.\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "349eb8cf45aadd35836fdfde75b3265a01b2aaa1",
      "tree": "596eede64614dcf99967ddea15d301a9fb5e1dd3",
      "parents": [
        "1928ecab620907a0953f811316d05f367f3f4dba"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat May 14 11:56:16 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:25:29 2011 -0400"
      },
      "message": "mac80211: annotate and fix RCU in mesh code\n\nThis adds proper RCU annotations to the mesh path\ntable code, and fixes a number of bugs in the code\nthat I found while checking the sparse warnings I\ngot as a result of the annotations.\n\nSome things like the changes in mesh_path_add() or\nmesh_pathtbl_init() only serve to shut up sparse,\nbut other changes like the changes surrounding the\nfor_each_mesh_entry() macro fix real RCU bugs in\nthe code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1928ecab620907a0953f811316d05f367f3f4dba",
      "tree": "c97ce24a7d86ad58c148ef8905c72c5705d12f4a",
      "parents": [
        "d07c7cf49ae7c488e778c4d668f4cc10bd2fa971"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat May 14 11:00:52 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:25:29 2011 -0400"
      },
      "message": "mac80211: fix and simplify mesh locking\n\nThe locking in mesh_{mpath,mpp}_table_grow not only\nhas an rcu_read_unlock() missing, it\u0027s also racy\n(though really only technically since it\u0027s invoked\nfrom a single function only) since it obtains the\nnew size of the table without any locking, so two\ninvocations of the function could attempt the same\nresize.\n\nAdditionally, it uses synchronize_rcu() which is\nrather expensive and can be avoided trivially here.\n\nModify the functions to only use the table lock\nand use call_rcu() instead of synchronize_rcu().\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "40b275b69ee660274b77fb612b0db31fd282fc3f",
      "tree": "29a4f82a44a12edcf9db5de6a3c6df9615a5799e",
      "parents": [
        "ec034b208dc8aa5dc73ec46c3f27e34c5efbf113"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri May 13 14:15:49 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:10:41 2011 -0400"
      },
      "message": "mac80211: sparse RCU annotations\n\nThis adds sparse RCU annotations to most of\nmac80211, only the mesh code remains to be\ndone.\n\nDue the the previous patches, the annotations\nare pretty simple. The only thing that this\nactually changes is removing the RCU usage of\nkey-\u003esta in debugfs since this pointer isn\u0027t\nactually an RCU-managed pointer (it only has\na single assignment done before the key even\ngoes live). As that is otherwise harmless, I\ndecided to make it part of this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6b86bd62a505a4a9739474f00f8088395b7a80ba",
      "tree": "de1f5f9c479578b044c92f10793e57396b2d8665",
      "parents": [
        "85a9994a0a6cba1a6cc6af4bd3ebd85f778be0fe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu May 12 13:38:50 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu May 12 14:10:55 2011 -0400"
      },
      "message": "mac80211: mesh: move some code to make it static\n\nThere\u0027s no need to have table functions in one\nfile and all users in another, move the functions\nto the right file and make them static. Also move\na static variable to the beginning of the file to\nmake it easier to find.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1570ca59279a74db73b8ff840abdfaf64a9ee2ff",
      "tree": "70f7484c73af02a3ebe35addc6801cb9c18efa92",
      "parents": [
        "c93b5e717ec47b57abfe0229360bc11e77520984"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Apr 07 15:08:35 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 12 16:58:24 2011 -0400"
      },
      "message": "mac80211: send notification on new peer candidate for our secure mesh\n\nAlso, advertise support for mesh authentication.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "61ad5394590c5c5338ab4ec50553d809a9996d50",
      "tree": "e10a19ac4a14124ff223c29ed18a97b624e5244b",
      "parents": [
        "3de135dba9341a3d10a7a5b9533ce11cb77d4f4d"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Dec 16 17:23:34 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:49:47 2010 -0500"
      },
      "message": "mac80211: Remove unused third address from mesh address extension header.\n\nThe Mesh Control header only includes 0, 1 or 2 addresses. If there is\none address, it should be interpreted as Address 4.  If there are 2,\nthey are interpreted as Addresses 5 and 6 (Address 4 being the 4th\naddress in the 802.11 header).\n\nThe address extension used to hold up to 3 addresses instead of the current 2.\nI\u0027m not sure which draft version changed this, but it is very unlikely that it\nwill change again given the state of the approval process of this draft.  See\nsection 7.1.3.6.3 in current draft (8.0).\n\nAlso, note that the extra address that I\u0027m removing was not being used, so this\nchange has no effect on over-the-air frame formats.  But I thought I better\nremove it before someone does start using it.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c7108a7111cd9e592d6ad498be37276dbea75d2b",
      "tree": "dab25dbb5607c4151629bf747ee10b4487772419",
      "parents": [
        "c80d545da3f7c0e534ccd4a780f322f80a92cff1"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Dec 16 17:37:50 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:46:58 2010 -0500"
      },
      "message": "mac80211: Send mesh non-HWMP path selection frames to userspace\n\nLet path selection frames for protocols other than HWMP be sent to\nuserspace via NL80211_CMD_REGISTER_FRAME.  Also allow userspace to send\nand receive mesh path selection frames.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "38cd6b4f52a75926fd81fc85f53f5067dcd809f7",
      "tree": "12c532a77c4ee615fbd53b097d098f09fbfdf220",
      "parents": [
        "2b7e6bce41b6b944bd4302cf0914e2a6f4bc704b"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Dec 15 14:27:28 2010 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 15 17:04:08 2010 -0500"
      },
      "message": "wireless:mac80211: kill unuse macro MESH_CFG_CMP_LEN in mesh.h\n\nCommit 00d3f14c has removed the references of this macro,\nbut left it only. So remove this definition.\n\ncommit 00d3f14cf9f12c21428121026a5e1d5f65926447\nAuthor: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nDate:   Tue Feb 10 21:26:00 2009 +0100\n\n    mac80211: use cfg80211s BSS infrastructure\n\n    Remove all the code from mac80211 to keep track of BSSes\n    and use the cfg80211-provided code completely.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "29cbe68c516a48a9a88b3226878570c6cbd83c02",
      "tree": "4774f8a3a244236234a521baa4d1ae5b3e1494ba",
      "parents": [
        "bd90fdcc5fbd99a2a778999610420cf793bd1be2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 03 09:20:44 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:29 2010 -0500"
      },
      "message": "cfg80211/mac80211: add mesh join/leave commands\n\nInstead of tying mesh activity to interface up,\nadd join and leave commands for mesh. Since we\nmust be backward compatible, let cfg80211 handle\njoining a mesh if a mesh ID was pre-configured\nwhen the device goes up.\n\nNote that this therefore must modify mac80211 as\nwell since mac80211 needs to lose the logic to\nstart the mesh on interface up.\n\nWe now allow querying mesh parameters before the\nmesh is connected, which simply returns defaults.\nSetting them (internally renamed to \"update\") is\nonly allowed while connected. Specify them with\nthe new mesh join command instead where needed.\n\nIn mac80211, beaconing must now also follow the\nmesh enabled/not enabled state, which is done\nby testing the mesh ID.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "45904f21655cf4f0ae7d0fab5906fe51bf56ecf4",
      "tree": "fd023d65b881b6cfcf1529eed7c1ad2523c166e1",
      "parents": [
        "b9e61f11f47035e3b4545b51fb547fef48eb3096"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Fri Dec 03 09:20:40 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:28 2010 -0500"
      },
      "message": "nl80211/mac80211: define and allow configuring mesh element TTL\n\nThe TTL in path selection information elements is different from\nthe mesh ttl used in mesh data frames.  Version 7.03 of the 11s\ndraft calls this ttl \u0027Element TTL\u0027.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eef35c2d41ddcc653c20d26b977acaa45c811e1f",
      "tree": "616db0eb06b6a3881902db59a0a5bd590277b5a1",
      "parents": [
        "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4"
      ],
      "author": {
        "name": "Stefan Weil",
        "email": "weil@mail.berlios.de",
        "time": "Fri Aug 06 21:11:15 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Aug 09 11:22:49 2010 +0200"
      },
      "message": "Fix spelling fuction -\u003e function in comments\n\nTo avoid more patches, I also fixed other spelling\nand grammar bugs when they were in the same or\nfollowing line:\n\nsuccessfull -\u003e successful\nparse -\u003e parses\ncontroler -\u003e controller\ncontrolers -\u003e controllers\n\nCc: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Stefan Weil \u003cweil@mail.berlios.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "77a121c3a88eb00a4b5e753d083dbb7d49fefb0a",
      "tree": "d1c802c9133a149094b484cd4796faeb9d7201fb",
      "parents": [
        "36b3a628a4e85d002ee8813ebd2a5caef6d3c1a7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:34 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:26 2010 -0400"
      },
      "message": "mac80211: pull mgmt frame rx into rx handler\n\nSome code is duplicated between ibss, mesh and\nmanaged mode regarding the queueing of management\nframes. Since all modes now use a common skb\nqueue and a common work function, we can pull\nthe queueing code into the rx handler directly\nand remove the duplicated length checks etc.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\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": "7b324d28a94dac5a451e8cba66e8d324601e5b9a",
      "tree": "d633782fad15ae57560cfebb5ff5c3c78af5d610",
      "parents": [
        "5d618cb81aeea19879975cd1f9a1e707694dfd7c"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Wed Dec 09 18:43:01 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 10 16:12:52 2009 -0500"
      },
      "message": "mac80211: Revert \u0027Use correct sign for mesh active path refresh\u0027\n\nThe patch (\"mac80211: Use correct sign for mesh active path\nrefresh.\") was actually a bug.  Reverted it and improved the\nexplanation of how mesh path refresh works.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nCc: stable@kernel.org\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": "d611f062f4351d8609910648854908fecf58970d",
      "tree": "ef3541e0e9347a42b497e3bbdb66045090533308",
      "parents": [
        "90a5e16992fa6105f7ebf3f29f5cf5feb1bbf7dc"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:50 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 13 17:43:54 2009 -0500"
      },
      "message": "mac80211: update PERR frame format\n\nUpdate the PERR IE frame format according to latest draft (3.03).\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": "095de01325962e7574d5793193c6f3ae9a175aab",
      "tree": "9769c526809d8bd63533aeccbd96ae6e6e3e7874",
      "parents": [
        "0938393f02c5a4db75a6e38ee31645c974169bb5"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:44 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 11 15:23:58 2009 -0500"
      },
      "message": "mac80211: update the format of path selection frames\n\nUpdate the format of path selection frames according to latest\ndraft (3.03).\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": "a1935218da8964a033bdf68c591629741c94eeec",
      "tree": "c7db928980c77c2ecd687018e6bf658101af754b",
      "parents": [
        "3491707a070c1183c709516b2f876f798c7a9a84"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:40 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 11 15:23:56 2009 -0500"
      },
      "message": "mac80211: set MESH_TTL to 31\n\nUpdate the mesh time to live field to 31 according to draft 3.03.\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": "bfc32e6a9559d3e30925929cd9a9df7498f325db",
      "tree": "f0e5f1bdf902fe463fa994d44cafcab39b357380",
      "parents": [
        "92ed48e5230e8f5906dda0cc31715b3b7e3fe303"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 17 17:15:55 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:36:02 2009 -0400"
      },
      "message": "mac80211: Decouple fail_avg stats used by mesh from rate control algorithm.\n\nMesh uses the tx failure average to compute the (m)path metric.  This used to\nbe done inside the rate control module.  This patch breaks the dependency\nbetween the mesh stack and the rate control algorithm.  Mesh will now work\nindependently of the chosen rate control algorithm.\n\nThe mesh stack keeps a moving average of the average transmission losses for\neach mesh peer station.  If the fail average exceeds a certain threshold, the\npeer link is marked as broken.\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": "fe58343461def0d376908a80cebd087b746a1483",
      "tree": "ac888a0e19102fcf02a03b3f36cf1007350d0d00",
      "parents": [
        "a3e14f3d2a55fa1268f64ec8a839b6dfa4ff9ea2"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 10 12:15:46 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:58 2009 -0400"
      },
      "message": "mac80211: Improve dequeing from mpath frame queue.\n\nAlso, fix typo in comment.\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": "f5ea9120be2e5d5c846243416cfdce01d02f5836",
      "tree": "cade27e47a90dde79a523598b96a2ebb50770d2f",
      "parents": [
        "f401a6f7ede753e56b84025e7d2db0d5ef560ce6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 16:17:38 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:43 2009 -0400"
      },
      "message": "nl80211: add generation number to all dumps\n\nIn order for userspace to be able to figure out whether\nit obtained a consistent snapshot of data or not when\nusing netlink dumps, we need to have a generation number\nin each dump message that indicates whether the list has\nchanged or not -- its value is arbitrary.\n\nThis patch adds such a number to all dumps, this needs\nsome mac80211 involvement to keep track of a generation\nnumber to start with when adding/removing mesh paths or\nstations.\n\nThe wiphy and netdev lists can be fully handled within\ncfg80211, of course, but generation numbers need to be\nstored there as well.\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": "e31a16d6f64ef0e324c6f54d5112703c3f13a9c4",
      "tree": "4ed30d0ebd1d948aaa14bcd4fb52f29d9bb2e7a8",
      "parents": [
        "a971be223f243311a8014ddfc721f68e3ef2da9c"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu May 21 21:47:03 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 22 14:06:02 2009 -0400"
      },
      "message": "wireless: move some utility functions from mac80211 to cfg80211\n\nThe patch moves some utility functions from mac80211 to cfg80211.\nBecause these functions are doing generic 802.11 operations so they\nare not mac80211 specific. The moving allows some fullmac drivers\nto be also benefit from these utility functions.\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\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": "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": "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": "eb80ed8d1fc0f3005ab356fbd8d61d870e3038e6",
      "tree": "66b64c78ff23fe49f494e710fc0cbdae6675cf2e",
      "parents": [
        "9cf2d186e4c52308cad8ecd893924e22ed020605"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Mon Jan 19 13:50:32 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:48 2009 -0500"
      },
      "message": "mac80211: trivial documentation fixes (enum mesh_path_flags).\n\nThis patch fixes documentation of enum mesh_path_flags in mesh.h.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9cf2d186e4c52308cad8ecd893924e22ed020605",
      "tree": "9ee117d8fc8a840f267a852b4ee5e24e599feee0",
      "parents": [
        "e9648179706448d50884f172711b00a6e5ab9e42"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Mon Jan 19 13:50:27 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:48 2009 -0500"
      },
      "message": "mac80211: remove mesh_plink_close() method.\n\nThis patch removes mesh_plink_close() method as it is unused.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\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": "79617deeebb9cf089e2bc2aad19743b1209043f6",
      "tree": "52c93b45d07ce3cd5c78be743446068602e90234",
      "parents": [
        "31e9ab2b180bccb3977b9a82ff357ac4c6ee3c83"
      ],
      "author": {
        "name": "YanBo",
        "email": "dreamfly281@gmail.com",
        "time": "Mon Sep 22 13:30:32 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:02 2008 -0400"
      },
      "message": "mac80211: mesh portal functionality support\n\nCurrently the mesh code doesn\u0027t support bridging mesh point interfaces\nwith wired ethernet or AP to construct an MPP or MAP. This patch adds\ncode to support the \"6 address frame format packet\" functionality to\nmesh point interfaces. Now the mesh network can be used as backhaul\nfor end to end communication.\n\nSigned-off-by: Li YanBo \u003cdreamfly281@gmail.com\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": "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": "e32f85f7b917456265d4c30d15f734c4912cfa6a",
      "tree": "14d48a5e3d4b279966f2c15b0a3e5f909bc71d58",
      "parents": [
        "eda0c003d1ff14c99d8476b482377ccfaf967b6c"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Tue Aug 05 19:34:52 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 07 09:49:04 2008 -0400"
      },
      "message": "mac80211: fix use of skb-\u003ecb for mesh forwarding\n\nNow we deal with mesh forwarding before the 802.11-\u003e802.3 conversion, thus\neliminating a few unnecessary steps. The next hop lookup is called from\nieee80211_master_start_xmit() instead of subif_start_xmit(). Until the next hop\nis found, RA in the frame will be all zeroes for frames originating from the\ndevice. For forwarded frames, RA will contain the TA of the received frame,\nwhich will be necessary to send a path error if a next hop is not found.\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": "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": "c2a3b233450d5bc426c063ea2d8a74351db29ea4",
      "tree": "3912c49e941b62ba20a4a7ed0b1b14c97f19ff32",
      "parents": [
        "e4c576b911e364737b1bf4f5bfdab1c440713f26",
        "c0d43990768b6ca83604ff4be80425b89d317e2f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 01 02:06:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 01 02:06:32 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6\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": "f375d5588ff62caf31b4a68ac9347c153ac56590",
      "tree": "9e437de73f189afd4c4a8294a6617684cb21e9af",
      "parents": [
        "7ac86bf61ad570a2ef642a3f7e72274570ace9c4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Apr 27 06:19:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:09:32 2008 -0700"
      },
      "message": "asm/unaligned.h doesn\u0027t work well as the very first include\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "cfa22c716f65b4d286a68aeacee4a7361a4035e6",
      "tree": "52c9c31b7f77b06daa504e283aa73da41be1e6aa",
      "parents": [
        "89a1ad6990d884796c5280d13aa58d216dffa08d"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Fri Feb 29 15:04:13 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 16:40:51 2008 -0500"
      },
      "message": "mac80211: always force mesh_path deletions\n\nPostponing the deletion is not really useful anymore.\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": "03e4497ebeaa8011eb0ab0a54496ed6413b9d1a4",
      "tree": "96eb34d88a56f84f06f155e1d4a0d6d34d0f7933",
      "parents": [
        "dbbea6713d6096cd1c411cb453a6b71292c78b33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 27 09:56:40 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:47 2008 -0500"
      },
      "message": "mac80211: fix sta_info mesh timer bug\n\nI noticed a bug I introduced when mesh is enabled: sta_info_destroy()\nwill end up calling cancel_timer() on a timer that has never been\ninitialized because the timer is only initialized in mesh_plink_alloc(),\nnot in sta_info_alloc(). This patch moves the initialization of all mesh\nrelated fields into sta_info_alloc(), adds a bit of sanity checking to\nthe cfg80211 handlers and sta_info_insert() and makes mesh_plink_alloc()\na static helper function that is only used from the mesh plink code.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "73651ee6396c499ccb59ebc84c9274db01ed026d",
      "tree": "1d59027cbdaec732f3e1378770cbf7b42b48cd70",
      "parents": [
        "d0709a65181beb787ef3f58cfe45536a2bb254c8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Feb 25 16:27:47 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:47 2008 -0500"
      },
      "message": "mac80211: split sta_info_add\n\nsta_info_add() has two functions: allocating a station info\nstructure and inserting it into the hash table/list. Splitting\nthese two functions allows allocating with GFP_KERNEL in many\nplaces instead of GFP_ATOMIC which is now required by the RCU\nprotection. Additionally, in many places RCU protection is now\nno longer needed at all because between sta_info_alloc() and\nsta_info_insert() the caller owns the structure.\n\nThis fixes a few race conditions with setting initial flags\nand similar, but not all (see comments in ieee80211_sta.c and\ncfg.c). More documentation on the existing races will be in\na follow-up patch.\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": "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": "ccf80ddfe4923ae75cd3536723880277d285e779",
      "tree": "0dfc1f0e778ff8c2ab2bdca7f41d87c8ad3e0147",
      "parents": [
        "6032f934c818e5c3435c9f17274fe1983f53c6b4"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Sat Feb 23 15:17:08 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:41 2008 -0500"
      },
      "message": "mac80211: mesh function and data structures definitions\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"
    }
  ]
}
