)]}'
{
  "commit": "4a9bde9b8ab55a2bb51b57cad215a97bcf80bae2",
  "tree": "e36282d7ed7e39f499e93f413cad57897477c53f",
  "parents": [
    "1c1517efe173599ca2f1526ce7a04521cd424a9f"
  ],
  "author": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Sat Feb 20 22:24:43 2010 +0100"
  },
  "committer": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Sat Feb 20 22:33:13 2010 +0100"
  },
  "message": "firewire: get_cycle_timer optimization and cleanup\n\nohci:  Break out of the retry loop if too many attempts were necessary.\nThis may theoretically happen if the chip is fatally defective or if the\nget_cycle_timer ioctl was performed after a CardBus controller was\nejected.\n\nAlso micro-optimize the loop by re-using the last two register reads in\nthe next iteration, remove a questionable inline keyword, and shuffle a\ncomment around.\n\ncore:  ioctl_get_cycle_timer() is always called with interrupts on,\ntherefore local_irq_save() can be replaced by local_irq_disable().\nDisabled local IRQs imply disabled preemption, hence preempt_disable()\ncan be removed.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e6d63849e78ee44302e436c26f871e5b3dd3eef7",
      "old_mode": 33188,
      "old_path": "drivers/firewire/core-cdev.c",
      "new_id": "ecd0a4d81abf07355ddb14f88597075e76d8184f",
      "new_mode": 33188,
      "new_path": "drivers/firewire/core-cdev.c"
    },
    {
      "type": "modify",
      "old_id": "bf5e112844210a2aa8c08b4d8754036853e363c1",
      "old_mode": 33188,
      "old_path": "drivers/firewire/ohci.c",
      "new_id": "c3eb471d22f7e867e542fabb5e5ef0c46df2a506",
      "new_mode": 33188,
      "new_path": "drivers/firewire/ohci.c"
    }
  ]
}
