)]}'
{
  "commit": "dd397dc9dddfa2149a1bbc9e52ac7d5630737cec",
  "tree": "e96caebf6081bbeb70bc8407342989c0bbda4fbf",
  "parents": [
    "a07d3619faeea3f540dd55f86685136f8928b4ad"
  ],
  "author": {
    "name": "Christian Lamparter",
    "email": "chunkeey@web.de",
    "time": "Tue Dec 09 15:14:37 2008 +0100"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Fri Dec 12 14:01:39 2008 -0500"
  },
  "message": "p54usb: rewriting rx/tx routines to make use of usb_anchor\u0027s facilities\n\nAlan Stern found several flaws in p54usb\u0027s implementation and annotated:\n\"usb_kill_urb() and similar routines do not expect an URB\u0027s completion\nroutine to deallocate it.  This is almost obvious -- if the URB is deallocated\nbefore the completion routine returns then there\u0027s no way for usb_kill_urb\nto detect when the URB actually is complete.\"\n\nThis patch addresses all known limitations in the old implementation and fixes\nkhub\u0027s \"use-after-freed\" hang, when SLUB debug\u0027s poisoning option is enabled.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nCc: stable@kernel.org\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2dd3cd41d0fe92f52ba5f65d4bce7116b48b8054",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/p54/p54usb.c",
      "new_id": "c2789e53b9845629f8d9b5eaef9e2f37febdda13",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/p54/p54usb.c"
    },
    {
      "type": "modify",
      "old_id": "5b8fe91379c36e947ad3ff23bc8b2bfddaf512c5",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/p54/p54usb.h",
      "new_id": "54ee738bf2af66c8503ea549d21ff1797b0de4b7",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/p54/p54usb.h"
    }
  ]
}
