)]}'
{
  "log": [
    {
      "commit": "133b822638ff01eb1e32e1917b197c40ed095ddd",
      "tree": "8b96f00426728f3c05ba05f387240f0279512a75",
      "parents": [
        "9e5e6c327defcef19dabad64335ee68bb55b2355"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 16 14:18:59 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:00 2008 -0400"
      },
      "message": "mac80211: make master iface not wireless\n\nThere\u0027s no need to register the master netdev with cfg80211,\nin fact, this is quite dangerous and lead to having to add\nchecks for the master interface all over the config handlers.\nThis patch removes the \"ieee80211_ptr\" from the master iface\nin favour of having a small netdev_priv() associated with\nthe master interface that stores the ieee80211_local pointer.\nBecause of this, a lot of code in the configuration handlers\ncan go away. To make this patch easier to verify I have also\nremoved a number of wiphy_priv() calls in favour of getting\nthe sdata first and then the local pointer from that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c2b13452b283f9c4a5b02a6b53ed6416ebf4c03c",
      "tree": "756b8c9668c643293a46389b8b8f34b8efd3d2ea",
      "parents": [
        "213cd118cbb88b76ae48f92cfb7dbef9a83cca62"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:22 2008 -0400"
      },
      "message": "mac80211: clean up scan namespace\n\nMost of the scan functions are called ieee80211_sta_scan_*\nor similar, make clean it up so they are all just called\nieee80211_scan_*.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b7413430d4d2a6168e68231d9f93763047b6d60c",
      "tree": "18e85326ddb298500820252f2e510b58319b52d2",
      "parents": [
        "472dbc45dc1966284de72d7de15690c17ed2cf33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:50 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: fix work race\n\nWhen we stop an interface, the work on it may still be pending\nor running. We do cancel the timer, but we do not currently\nprotect against the work struct. The race is very unlikely to\nhit -- it\u0027ll happen only when the driver is using mac80211\u0027s\nworkqueue to run long-running tasks and the sta/mesh works are\ndelayed for quite a bit.\n\nThis patch fixes it by cancelling the work explicitly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "472dbc45dc1966284de72d7de15690c17ed2cf33",
      "tree": "e8bfb88067f7fd8845978d1613f868e6a4499999",
      "parents": [
        "7c95069522d02ff144cd421be6618dce619caf7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:49 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: split off mesh handling entirely\n\nThis patch splits off mesh handling from the STA/IBSS.\nUnfortunately it increases mesh code size a bit, but I\nthink it makes things clearer. The patch also reduces\nper-interface run-time memory usage.\n\nAlso clean up a few places where ifdef is not required.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b171e19ed08c8ba832e5325fadf1be493f56665d",
      "tree": "017208f9fcc4ef2cc3fe5cc3f262d2455eda9f61",
      "parents": [
        "143b11c03cd42f2284efe5128afc057d8fc86c78",
        "7c19a3d280297d43ef5ff7c6b205dc208a16d3d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tnet/mac80211/mlme.c\n"
    },
    {
      "commit": "667d8af9af775a5fea203890978037ea750816cc",
      "tree": "5bdc41ed57b9a5080fd63fafe17c0d5bbd0b0508",
      "parents": [
        "087d833e5a9f67ba933cb32eaf5a2279c1a5b47c"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Aug 23 18:27:38 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 26 20:06:32 2008 -0400"
      },
      "message": "net/mac80211/mesh.c: correct the argument to __mesh_table_free\n\nIn the function mesh_table_grow, it is the new table not the argument table\nthat should be freed if the function fails (cf commit\nbd9b448f4c0a514559bdae4ca18ca3e8cd999c6d)\n\nThe semantic match that detects this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nexpression E,f;\nposition p1,p2,p3;\nidentifier l;\nstatement S;\n@@\n\nx \u003d mesh_table_alloc@p1(...)\n...\nif (x \u003d\u003d NULL) S\n... when !\u003d E \u003d x\n    when !\u003d mesh_table_free(x)\ngoto@p2 l;\n... when !\u003d E \u003d x\n    when !\u003d f(...,x,...)\n    when any\n(\nreturn \\(0\\|x\\);\n|\nreturn@p3 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\np3 \u003c\u003c r.p3;\n@@\n\nprint \"%s: call on line %s not freed or saved before return on line %s via line %s\" % (p1[0].file,p1[0].line,p3[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f698d856f65c3fea091cc303a135967965c5b880",
      "tree": "94c7c2d561e5191646dc5798683c0aca97973773",
      "parents": [
        "fef1643bf0cdd092a52dc3378479e4811fd65152"
      ],
      "author": {
        "name": "Jasper Bryant-Greene",
        "email": "jasper@amiton.co.nz",
        "time": "Sun Aug 03 12:04:37 2008 +1200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate\n\nThis patch replaces net_device arguments to mac80211 internal functions\nwith ieee80211_{local,sub_if_data} as appropriate.\n\nIt also does the same for many 802.11s mesh functions, and changes the\nmesh path table to be indexed on sub_if_data rather than net_device.\n\nIf the mesh part needs to be a separate patch let me know, but since\nmesh uses a lot of mac80211 functions which were being converted anyway,\nthe changes go hand-in-hand somewhat.\n\nThis patch probably does not convert all the functions which could be\nconverted, but it is a large chunk and followup patches will be\nprovided.\n\nSigned-off-by: Jasper Bryant-Greene \u003cjasper@amiton.co.nz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bd9b448f4c0a514559bdae4ca18ca3e8cd999c6d",
      "tree": "090c74c16e3660e329d92f6435d28732401c1a5d",
      "parents": [
        "a3538b19a6d226f9d3d9b18865468370009dec55"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 07 19:57:11 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:47:45 2008 -0400"
      },
      "message": "mac80211: Consolidate hash kfree-ing in mesh.c.\n\nThere are already two places, that kfree the mesh_table and\nits buckets.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a3538b19a6d226f9d3d9b18865468370009dec55",
      "tree": "d5a6d557d4fb9773817f9c657a8f22da53dd7d1c",
      "parents": [
        "3282aea9ea5644a5b0161ad0fbd70fbf1099a470"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 07 19:55:59 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:47:45 2008 -0400"
      },
      "message": "mac80211: Merge error paths in mesh_table_grow().\n\nThis is the first (of two) clean ups after the fixes above.\n\nThe err variable is not even required after this cleaning.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4caf86c6928cfaca270327bc944f901c2e2a8f50",
      "tree": "6f6a1ecac1a4399c6597510f4076e19b1e30f10e",
      "parents": [
        "5194ee82b4aafc35b32c96db11bdacea9bf548be"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 07 19:47:01 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 21 21:47:42 2008 -0400"
      },
      "message": "mac80211: Prepare mesh_table_grow to failing copy_node callback.\n\nThe mesh_path_node_copy() performs kmalloc() and thus - may fail\n(well, it does not now, but I\u0027m fixing this right now). Its caller -\nthe mesh_table_grow() - isn\u0027t prepared for such a trick yet.\n\nThis preparation is just flush the new hash and make copy_node()\nreturn an int value.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ef269254772a0d2253c85cafe160e3f6528eb292",
      "tree": "d82270745af91c49e657ec3747d9b99d0172ae67",
      "parents": [
        "df44205455773852a6af10a7c6ed768fe8a86b31"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Mon May 05 12:02:35 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 12 21:22:18 2008 -0400"
      },
      "message": "mac80211: fix incorrect mesh header length\n\nThis should have been updated at the same time we were transitioning from 3 byte\nto 4 byte mesh sequence number. Pointed out by Johannes Berg.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "51ceddade0fb1e15f080b2555f3b3e1d68c6707e",
      "tree": "341183c318900251890f341e4b672f33791ae6b1",
      "parents": [
        "809917903127804c2b2ac76342ab0f29f4b394d3"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Wed Apr 23 12:15:29 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 30 20:34:26 2008 -0400"
      },
      "message": "mac80211: use 4-byte mesh sequence number\n\nThis follows the new 802.11s/D2.0 draft.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "247367016305637fb981db020679520e354c80c4",
      "tree": "d1ffcbb1e88cf38eb2dc40efa80f2f6d45aa9c24",
      "parents": [
        "8eefca4888c986d993b2571eb31f0397a5d0a178"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 14:15:46 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 08 14:15:46 2008 -0400"
      },
      "message": "Revert \"mac80211: use a struct for bss-\u003emesh_config\"\n\nThis reverts commit 6c4711b4697d93424e4b1f76a9929ba844d714a5.\n\nThat patch breaks mesh config comparison between beacons/probe reponses, so\nevery beacon from a mesh network would be added as a new bss. Since the\ncomparison has to be performed for every received beacon I believe it is best to\nsave the mesh config in a format easy to compare, rather than do a bunch of\nunaligned accesses to compare field by field.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6c4711b4697d93424e4b1f76a9929ba844d714a5",
      "tree": "84fe42a88c9bac873889bd03ae8173db1b2b3aeb",
      "parents": [
        "05e5e88373d91c75e9262a3f984be511960e510d"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Mon Mar 31 17:39:18 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 01 17:14:12 2008 -0400"
      },
      "message": "mac80211: use a struct for bss-\u003emesh_config\n\nThis allows cleaner code when accesing bss-\u003emesh_config components.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4e08ea141e6d663dec31b31d6289baeaaa2a3a2",
      "tree": "f6ca4b30e480f803f5f83c2d60e0df29fb2177ea",
      "parents": [
        "cfa22c716f65b4d286a68aeacee4a7361a4035e6"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Fri Feb 29 15:46:08 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 16:40:52 2008 -0500"
      },
      "message": "mac80211: add PLINK_ prefix and kernel doc to enum plink_state\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b091cd4941912081730ffa17948da6d148c822d",
      "tree": "a406fc67bab7790cf1ba412636080b70db694195",
      "parents": [
        "1d1b535969ca5572d87a6fcac49e1e1a31241b99"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Fri Feb 29 12:20:39 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 16:40:49 2008 -0500"
      },
      "message": "mac80211: move comment to better location\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d0709a65181beb787ef3f58cfe45536a2bb254c8",
      "tree": "29e5f36583b0e0a3f11b291347e57672eab41dad",
      "parents": [
        "5cf121c3cdb955583bf0c5d28c992b7968a4aa1a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Feb 25 16:27:46 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:46 2008 -0500"
      },
      "message": "mac80211: RCU-ify STA info structure access\n\nThis makes access to the STA hash table/list use RCU to protect\nagainst freeing of items. However, it\u0027s not a true RCU, the\ncopy step is missing: whenever somebody changes a STA item it\nis simply updated. This is an existing race condition that is\nnow somewhat understandable.\n\nThis patch also fixes the race key freeing vs. STA destruction\nby making sure that sta_info_destroy() is always called under\nRTNL and frees the key.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "902acc7896d7649fb30e4b22bd4e643c7f34b02c",
      "tree": "8d8f2838fead8417e16e801383ddb2691a89719f",
      "parents": [
        "f7a921443740d7dafc65b17aa32531730d358f50"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Feb 23 15:17:19 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:42 2008 -0500"
      },
      "message": "mac80211: clean up mesh code\n\nVarious cleanups, reducing the #ifdef mess and other things.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e3c8736820bf72a8ad10721c7e31d36d4fa7790",
      "tree": "21c6afeff5a649c40d8fd1f166b0c56aaf2e21c0",
      "parents": [
        "ccf80ddfe4923ae75cd3536723880277d285e779"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Sat Feb 23 15:17:09 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 06 15:30:41 2008 -0500"
      },
      "message": "mac80211: support functions for mesh\n\nThe two important features coded in mesh.c are:\n\nRecently Multicast Cache: in on-demand HWMP, multicast traffic is retransmitted\nby every receiving node. Even though a mesh TTL counter avoids infinite loops,\nit is also necessary to avoid traffic explosion by keeping a cache of multicast\nmesh frame that have been received recently. With this feature, maximum number\nof retransmissions of a multicast frame for the case of N nodes within the range\nof each other would be N. Without it, the maximum number of retransmissions\nwould be in the order of N^(MESH_TTL - 1).\n\nCode to support mesh tables.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
