)]}'
{
  "commit": "2cccbb555c77e641de9008660e08bdf17fc4206a",
  "tree": "62cd3291088cce86f8a4ef9e25b1072b5c16ae2e",
  "parents": [
    "902abed1587805fe8513e10aef6643f58a6de0a6"
  ],
  "author": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Mon Aug 14 18:59:00 2006 +0200"
  },
  "committer": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Sun Sep 17 19:34:44 2006 +0200"
  },
  "message": "ieee1394: sbp2: prevent rare deadlock in shutdown\n\nScsi_remove_device() may go into uninterruptible sleep if blocked.\nTherefore sbp2_remove() unblocks the Scsi_Host before the device is\nrequested to be removed.  But there could be another 1394 bus reset\nafter that which would block the host again.  The 1394 subsystem won\u0027t\ncall sbp2_update() concurrently to sbp2_remove(), which is why there is\nno chance for sbp2_remove() to be unblocked by sbp2_update().\n\nThe fix is to tell sbp2\u0027s bus reset handler when a device is to be shut\ndown so that it skips scsi_block_requests() on that host.  As before,\nany new commands after a reset without reconnect will be failed quickly\nby sbp2scsi_queuecommand().\n\nIn the long term, means to go without scsi_block_requests() should be\nfound.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3cb6b479b2ef451e97969ed9fc3031fbc53368f1",
      "old_mode": 33188,
      "old_path": "drivers/ieee1394/sbp2.c",
      "new_id": "017259cc34f3a692216f2553e82fae0f8a927ec8",
      "new_mode": 33188,
      "new_path": "drivers/ieee1394/sbp2.c"
    },
    {
      "type": "modify",
      "old_id": "34c52bf4fa34bc40d3a404195818efeac981a1e7",
      "old_mode": 33188,
      "old_path": "drivers/ieee1394/sbp2.h",
      "new_id": "abbe48e646c3a7397d8a355de0e8f0757b426647",
      "new_mode": 33188,
      "new_path": "drivers/ieee1394/sbp2.h"
    }
  ]
}
