)]}'
{
  "commit": "b722dbf176b67c75fe0f5a6b1b31f5ea8aa6117d",
  "tree": "8eb77b610efcabd6185b964b817b2b30bdebad0d",
  "parents": [
    "a3bcc23e890a6d49d6763d9eb073d711de2e0469"
  ],
  "author": {
    "name": "Julia Lawall",
    "email": "julia@diku.dk",
    "time": "Wed Jun 01 07:10:10 2011 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Jun 01 21:20:14 2011 -0700"
  },
  "message": "drivers/net/davinci_emac.c: add missing clk_put\n\nGo to existing error handling code at the end of the function that calls\nclk_put.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r exists@\nexpression e1,e2;\nstatement S;\n@@\n\ne1 \u003d clk_get@p1(...);\n... when !\u003d e1 \u003d e2\n    when !\u003d clk_put(e1)\n    when any\nif (...) { ... when !\u003d clk_put(e1)\n               when !\u003d if (...) { ... clk_put(e1) ... }\n* return@p3 ...;\n } else S\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "29a4f06fbfcf0004c53e96d51cc5d6da0aaaf76b",
      "old_mode": 33188,
      "old_path": "drivers/net/davinci_emac.c",
      "new_id": "dcc4a170b0f397ed5362341a8d5a62fb07d411a4",
      "new_mode": 33188,
      "new_path": "drivers/net/davinci_emac.c"
    }
  ]
}
