)]}'
{
  "commit": "02d37bed188c500ee7afb0a2dc6b65a80704c58e",
  "tree": "a019891672a1505e35eb15fa2621caffecff2c80",
  "parents": [
    "8b4f70ba4967cae90d128857af1382026a24230a"
  ],
  "author": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Thu Jul 08 16:09:06 2010 +0200"
  },
  "committer": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Tue Jul 13 09:58:27 2010 +0200"
  },
  "message": "firewire: core: integrate software-forced bus resets with bus management\n\nBus resets which are triggered\n  - by the kernel drivers after updates of the local nodes\u0027 config ROM,\n  - by userspace software via ioctl\nshall be deferred until after \u003e\u003d2 seconds after the last bus reset.\n\nIf multiple modifications of the local nodes\u0027 config ROM happen in a row,\nonly a single bus reset should happen after them.\n\nWhen the local node\u0027s link goes from inactive to active or vice versa,\nand at the two occasions of bus resets mentioned above --- and if the\ncurrent gap count differs from 63 --- the bus reset should be preceded\nby a PHY configuration packet that reaffirms the gap count.  Otherwise a\nbus manager would have to reset the bus again right after that.\n\nThis is necessary to promote bus stability, e.g. leave grace periods for\nallocations and reallocations of isochronous channels and bandwidth,\nSBP-2 reconnections etc.; see IEEE 1394 clause 8.2.1.\n\nThis change implements all of the above by moving bus reset initiation\ninto a delayed work (except for bus resets which are triggered by the\nbus manager workqueue job and are performed there immediately).  It\ncomes with a necessary addition to the card driver methods that allows\nto get the current gap count from PHY registers.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6c316cfe70c472d6bc93bb158bf946c5a4d355c3",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core-card.c",
      "new_id": "2bb5c036e80692176d3db524fbffed8add9f49f0",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core-card.c"
    },
    {
      "type": "modify",
      "old_id": "7a690c466ce9ab54bf22452bc976afaacc6c9b4f",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core-cdev.c",
      "new_id": "ee2e87353102c420b86343786215eacc9a016ecd",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core-cdev.c"
    },
    {
      "type": "modify",
      "old_id": "7813da8a12939153012a6be83f02b8f8a757ca11",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core-transaction.c",
      "new_id": "5f5a7852f7ac5afc3cd7690d6e94773106b045ed",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core-transaction.c"
    },
    {
      "type": "modify",
      "old_id": "3000dd74acfd26ae8438e653b0fe5e387a8cad28",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core.h",
      "new_id": "ff6c90922001b0d8222326e6110ff9b171e20b55",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core.h"
    },
    {
      "type": "modify",
      "old_id": "a4bbf3dadf58c55d7d084382dc6de578e5de106b",
      "old_mode": 33188,
      "old_path": "drivers/firewire/ohci.c",
      "new_id": "bb6a92bc9e6a2bfc8211a877a345d18462011a45",
      "new_mode": 33188,
      "new_path": "drivers/firewire/ohci.c"
    },
    {
      "type": "modify",
      "old_id": "db30a752a87a5ef0a3cb812629c49a6ff07b789c",
      "old_mode": 33188,
      "old_path": "include/linux/firewire.h",
      "new_id": "adc5b55e6e5f6cfcf2e0fb19d0b2b6af1fdddbd6",
      "new_mode": 33188,
      "new_path": "include/linux/firewire.h"
    }
  ]
}
