)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
