)]}'
{
  "commit": "0a15af08f1f64256fe52d4666f3e200477dbb5ce",
  "tree": "948778d68144df513c41f2fa98882594407e6661",
  "parents": [
    "3451d0f5d57416ab5417964eee9f9df6e6b83629"
  ],
  "author": {
    "name": "Mathias Nyman",
    "email": "mathias.nyman@linux.intel.com",
    "time": "Thu Apr 30 17:16:03 2015 +0300"
  },
  "committer": {
    "name": "Zefan Li",
    "email": "lizefan@huawei.com",
    "time": "Fri Sep 18 09:20:38 2015 +0800"
  },
  "message": "xhci: Solve full event ring by increasing TRBS_PER_SEGMENT to 256\n\ncommit 18cc2f4cbbaf825a4fedcf2d60fd388d291e0a38 upstream.\n\nOur event ring consists of only one segment, and we risk filling\nthe event ring in case we get isoc transfers with short intervals\nsuch as webcams that fill a TD every microframe (125us)\n\nWith 64 TRB segment size one usb camera could fill the event ring in 8ms.\nA setup with several cameras and other devices can fill up the\nevent ring as it is shared between all devices.\nThis has occurred when uvcvideo queues 5 * 32TD URBs which then\nget cancelled when the video mode changes. The cancelled URBs are returned\nin the xhci interrupt context and blocks the interrupt handler from\nhandling the new events.\n\nA full event ring will block xhci from scheduling traffic and affect all\ndevices conneted to the xhci, will see errors such as Missed Service\nIntervals for isoc devices, and  and Split transaction errors for LS/FS\ninterrupt devices.\n\nIncreasing the TRB_PER_SEGMENT will also increase the default endpoint ring\nsize, which is welcome as for most isoc transfer we had to dynamically\nexpand the endpoint ring anyway to be able to queue the 5 * 32TDs uvcvideo\nqueues.\n\nThe default size used to be 64 TRBs per segment\n\nSigned-off-by: Mathias Nyman \u003cmathias.nyman@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Zefan Li \u003clizefan@huawei.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "80b3d8559b091c6f7f69b628e208eba400a0f1d3",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/xhci.h",
      "new_id": "855f084a9a32a6243a48e1b08fe9fb074648dc98",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/xhci.h"
    }
  ]
}
