)]}'
{
  "commit": "29c8f6a727a683b5988877dd80dbdefd49e64a51",
  "tree": "a4be2521cf03591dd220156f4f0a92f3c49f4f89",
  "parents": [
    "056761e55c8687ddf3db14226213f2e8dc2689bc"
  ],
  "author": {
    "name": "David Brownell",
    "email": "dbrownell@users.sourceforge.net",
    "time": "Fri Jun 13 23:59:54 2008 -0700"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Thu Jul 03 18:20:36 2008 -0700"
  },
  "message": "USB: ohci - record data toggle after unlink\n\nThis patch fixes a problem with OHCI where canceling bulk or\ninterrupt URBs may lose track of the right data toggle.  This\nseems to be a longstanding bug, possibly dating back to the\nLinux 2.4 kernel, which stayed hidden because\n\n (a) about half the time the data toggle bit was correct;\n (b) canceling such URBs is unusual; and\n (c) the few drivers which cancel these URBs either\n      [1] do it only as part of shutting down, or\n      [2] have fault recovery logic, which recovers.\n\nFor those transfer types, the toggle is normally written back\ninto the ED when each TD is retired.  But canceling bypasses\nthe mechanism used to retire TDs ... so on average, half the\ntime the toggle bit will be invalid after cancelation.\n\nThe fix is simple:  the toggle state of any canceled TDs are\npropagated back to the ED in the finish_unlinks function.\n\n(Issue found by leonidv11@gmail.com ...)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Leonid \u003cleonidv11@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9c9f3b59186f6c65d3d33cbfa16dced198de10eb",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/ohci-q.c",
      "new_id": "9b547407c9342fd41b02700adda126c0382cd74e",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/ohci-q.c"
    }
  ]
}
