)]}'
{
  "commit": "65207fedcf57dcb854a3ebb9da43c745106fe8d5",
  "tree": "fce7ca7526448abd0be4ae59423d11fb842611e5",
  "parents": [
    "bd23e94cd70f18700fc366451a8f1427e56ed137"
  ],
  "author": {
    "name": "Moore, Eric",
    "email": "Eric.Moore@lsil.com",
    "time": "Fri Apr 21 16:14:35 2006 -0600"
  },
  "committer": {
    "name": "James Bottomley",
    "email": "jejb@mulgrave.il.steeleye.com",
    "time": "Tue Apr 25 18:07:32 2006 -0500"
  },
  "message": "[SCSI] - fusion - mptfc bug fix\u0027s to prevent deadlock situations\n\nmptbase.h\n\n\tbump version number to 3.03.09\n\n\tremove unneeded flags\n\tdefine workq and remove old fc specific locks\n\nmptbase.c\n\n\tinitialize new lock and don\u0027t initialize two removed locks\n\nmptscsih.c\n\n\twhen firmware reports target is no longer there, return\n        DID_REQUEUE for fc hosts so that i/o doesn\u0027t get killed until\n        the transport has an opportunity to manage the loss via its\n        dev loss timer\n\n\twhen the \"eh_abort\" routine is called, check to see if the\n        driver has the command or not before looking to see if a reset\n        is pending.  James Smart and I talked about this and believe\n        that the API for this routine is: if driver doesn\u0027t have\n        command, return SUCCESS.  This change helps prevent a target\n        from being taken offline.  SUCCESS is returned because it\u0027s\n        likely that the command completed after error recovery timed\n        it out but before it could be aborted.\n\n\tprovide a routine to queue work to newly created workq, and\n        use it.\n\n\tremove \"ioc\" from mptscsih_abort() it was only used one time.\n\tthe other references were via hd-\u003eioc, so I just moved it....\n\tnet change in references to ioc via hd-\u003eioc is zero\n\n\tmove hd-\u003eresetPending test and hd-\u003etimeouts increment to after\n\tthe test for whether the command to be aborted remains known\n\tto the driver\n\n\tMake certain that the workq exists before queuing work to it.\n\nmptfc.c\n\n\tno longer need to lock rport data structures as I was able to\n\tsingle thread the code!  I fixed up the debug code to\n\teliminate compilation messages due to type mismatch in the\n\tprintk.  Got rid of some no longer needed rport flags.\n\tInitialize and destroy the workq used for the rescan work.\n\n\tsimplify the logic regarding the increment of\n        fc_rescan_work_count.  use post increment and test for zero\n        vs. pre increment and test for one; eliminate work_count\n        variable: queue_work can be called with the work_lock held as\n        it doesn\u0027t sleep\n\nSigned-off-by: Michael Reed \u003cmdr@sgi.com\u003e\nSigned-off-by: Eric Moore \u003cEric.Moore@lsil.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ac66a658aa1150d9e5d25ada4f04d0c2a77a7783",
      "old_mode": 33188,
      "old_path": "drivers/message/fusion/mptbase.c",
      "new_id": "5fe6e8df50ab8fc394df5a47aa43e3a29c5209ea",
      "new_mode": 33188,
      "new_path": "drivers/message/fusion/mptbase.c"
    },
    {
      "type": "modify",
      "old_id": "be7e8501b53c1d4243691625003cd690c0b75932",
      "old_mode": 33188,
      "old_path": "drivers/message/fusion/mptbase.h",
      "new_id": "f673cca507e12890c82f4e772a88d3647a0f4416",
      "new_mode": 33188,
      "new_path": "drivers/message/fusion/mptbase.h"
    },
    {
      "type": "modify",
      "old_id": "b343f2a68b1c755ceff84c70aaa774f8eff3576f",
      "old_mode": 33188,
      "old_path": "drivers/message/fusion/mptfc.c",
      "new_id": "e1fb5a1663660fad36716e0b380a16bff15bf32f",
      "new_mode": 33188,
      "new_path": "drivers/message/fusion/mptfc.c"
    },
    {
      "type": "modify",
      "old_id": "6a71b066bd21cf91b1deed38fc2d4a4acb3a0bc2",
      "old_mode": 33188,
      "old_path": "drivers/message/fusion/mptscsih.c",
      "new_id": "84fa271eb8f47fd93cf869841055f5e6e037abd9",
      "new_mode": 33188,
      "new_path": "drivers/message/fusion/mptscsih.c"
    }
  ]
}
