)]}'
{
  "commit": "5fe231e873729fa2f57cdc417d5c1f80871e2d7d",
  "tree": "48810991fa4cf4faa69c0a992fdaf962feb6edda",
  "parents": [
    "73810b77def898b43a97638478692922b7f820eb"
  ],
  "author": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Wed May 08 21:45:15 2013 +0200"
  },
  "committer": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Sat May 25 00:02:15 2013 +0200"
  },
  "message": "cfg80211: vastly simplify locking\n\nVirtually all code paths in cfg80211 already (need to) hold\nthe RTNL. As such, there\u0027s little point in having another\nfour mutexes for various parts of the code, they just cause\nlock ordering issues (and much of the time, the RTNL and a\nfew of the others need thus be held.)\n\nSimplify all this by getting rid of the extra four mutexes\nand just use the RTNL throughout. Only a few code changes\nwere needed to do this and we can get rid of a work struct\nfor bonus points.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "58f6302da1459c2e88c6f3d675978c9977f36243",
      "old_mode": 33188,
      "old_path": "include/net/cfg80211.h",
      "new_id": "5430f70c63b3d83eabb8ce5debafee1d50565ebe",
      "new_mode": 33188,
      "new_path": "include/net/cfg80211.h"
    },
    {
      "type": "modify",
      "old_id": "9416b8f55f50edf1b6939bbe837a95019550f71e",
      "old_mode": 33188,
      "old_path": "net/wireless/core.c",
      "new_id": "5fc642d4071b41da81b4f55bce7e3f643907ca3f",
      "new_mode": 33188,
      "new_path": "net/wireless/core.c"
    },
    {
      "type": "modify",
      "old_id": "95b29075a9c897756e1c0de45f5aaf95b7e8c546",
      "old_mode": 33188,
      "old_path": "net/wireless/core.h",
      "new_id": "d21a0fc0140189804097fcf6d4059675c4040111",
      "new_mode": 33188,
      "new_path": "net/wireless/core.h"
    },
    {
      "type": "modify",
      "old_id": "920cabe0461b30cd7c5ef9d59e0f010a3bfa4297",
      "old_mode": 33188,
      "old_path": "net/wireless/debugfs.c",
      "new_id": "90d0500366248900f2aebcac8d57f295d229d764",
      "new_mode": 33188,
      "new_path": "net/wireless/debugfs.c"
    },
    {
      "type": "modify",
      "old_id": "d80e47194d49ee7f9ead039b2fae2bc0fbcdb13a",
      "old_mode": 33188,
      "old_path": "net/wireless/ibss.c",
      "new_id": "5449c5a6de847ecee355238bc43ca7447179b50e",
      "new_mode": 33188,
      "new_path": "net/wireless/ibss.c"
    },
    {
      "type": "modify",
      "old_id": "9546ad2105507f17d0743e49f8ecbee9c3129b31",
      "old_mode": 33188,
      "old_path": "net/wireless/mesh.c",
      "new_id": "5dfb289ab7617da781372916816d4ecf2e479f9c",
      "new_mode": 33188,
      "new_path": "net/wireless/mesh.c"
    },
    {
      "type": "modify",
      "old_id": "c21e32f9549c4a2133bcc68aeccd45df9b0a8a8c",
      "old_mode": 33188,
      "old_path": "net/wireless/mlme.c",
      "new_id": "68b40f21bc382cb529dcb243d3fc1d29ee8d437e",
      "new_mode": 33188,
      "new_path": "net/wireless/mlme.c"
    },
    {
      "type": "modify",
      "old_id": "5bcf3a5b64654977001a8526c7a76139225e6240",
      "old_mode": 33188,
      "old_path": "net/wireless/nl80211.c",
      "new_id": "74cdb1a0cf312dafae133bd1a485dec7f72fd641",
      "new_mode": 33188,
      "new_path": "net/wireless/nl80211.c"
    },
    {
      "type": "modify",
      "old_id": "cc35fbaa45787ddeba99c0ea67ed4c5e317e7dd0",
      "old_mode": 33188,
      "old_path": "net/wireless/reg.c",
      "new_id": "e76559618588cd6ae919ff38406d6d75c5d2495a",
      "new_mode": 33188,
      "new_path": "net/wireless/reg.c"
    },
    {
      "type": "modify",
      "old_id": "2ce44a712f13cc65ae9dbbfa66a5bbfdc3423c29",
      "old_mode": 33188,
      "old_path": "net/wireless/scan.c",
      "new_id": "dd01b58fa78c620262e8fcbc740ff7e79fc9b6dc",
      "new_mode": 33188,
      "new_path": "net/wireless/scan.c"
    },
    {
      "type": "modify",
      "old_id": "3ed35c345caed81966eb0ad52b7e1a4b350ec473",
      "old_mode": 33188,
      "old_path": "net/wireless/sme.c",
      "new_id": "4dbf31407a5685ba022c527d23b34d165fff6bda",
      "new_mode": 33188,
      "new_path": "net/wireless/sme.c"
    },
    {
      "type": "modify",
      "old_id": "0962f107f57f831d625f59c3e505e70e30d72b96",
      "old_mode": 33188,
      "old_path": "net/wireless/util.c",
      "new_id": "501724257af5621bf737b0e55d13b529e055abb9",
      "new_mode": 33188,
      "new_path": "net/wireless/util.c"
    },
    {
      "type": "modify",
      "old_id": "d997d0f0c54a683fb0aee287d44fc79d4b15230d",
      "old_mode": 33188,
      "old_path": "net/wireless/wext-compat.c",
      "new_id": "e7c6e862580dcf64df32b4f499f7ae1c42c67609",
      "new_mode": 33188,
      "new_path": "net/wireless/wext-compat.c"
    },
    {
      "type": "modify",
      "old_id": "e79cb5c0655ad34ec0e8df85471e6c77ad856716",
      "old_mode": 33188,
      "old_path": "net/wireless/wext-sme.c",
      "new_id": "aeefd6817189407704695eb8efa1b8273bf8a495",
      "new_mode": 33188,
      "new_path": "net/wireless/wext-sme.c"
    }
  ]
}
