)]}'
{
  "commit": "65c054f235fda2d545ecd2a7948906a3cf0c1f39",
  "tree": "b8782ce4208432df2336730a57dd427d620f2d1e",
  "parents": [
    "f018b73af6db4f330ad5da9ac53997a699c30c42"
  ],
  "author": {
    "name": "Kei Tokunaga",
    "email": "tokunaga.keiich@jp.fujitsu.com",
    "time": "Mon Mar 15 14:48:43 2010 +0900"
  },
  "committer": {
    "name": "James Bottomley",
    "email": "James.Bottomley@suse.de",
    "time": "Sun Apr 11 09:23:45 2010 -0500"
  },
  "message": "[SCSI] mpt: modify mptctl_exit() to call proper deregister functions\n\nThis patch fixes some issues of mptctl_exit().\n\n  1) It doesn\u0027t call mpt_deregister() for mptctl_taskmgmt_id\n     \u003d\u003e Insmoding/rmmoding mptctl.ko repeadtedly (up to\n        MPT_MAX_PROTOCOL_DRIVERS-1 at most) can eat up all cb_idx,\n        and that would cause a lack of MptCallbacks[], MptDriverClass[],\n        and MptEvHandlers[].\n\n  2) It doesn\u0027t call mpt_event_deregister() for mptctl_id\n     \u003d\u003e Need to call it.\n\n  3) It calls mpt_reset_deregister() for mptctl_taskmgmt_id\n     \u003d\u003e This could accidentally deregister an innocent reset handler\n        that you don\u0027t want to.\n\nThis patch also adds a check for mptctl_taskmgmt_id.\n\nSigned-off-by: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nAcked-by: \"Desai, Kashyap\" \u003cKashyap.Desai@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "caa8f568a41c20586612fb601eb6bf6e8b7d6d4d",
      "old_mode": 33188,
      "old_path": "drivers/message/fusion/mptctl.c",
      "new_id": "80421d2cf0494a45f5f34d28308ed35161e2ea83",
      "new_mode": 33188,
      "new_path": "drivers/message/fusion/mptctl.c"
    }
  ]
}
