)]}'
{
  "commit": "44f4c3ed60fb21e1d2dd98304390ac121e6c7c6d",
  "tree": "b4571bd2b1e671784ebdddc29d025e40eed6136c",
  "parents": [
    "c19cc78efe922e86da7ba694dbfc4be066dd7eb4"
  ],
  "author": {
    "name": "Greg KH",
    "email": "gregkh@suse.de",
    "time": "Mon Sep 19 16:05:11 2011 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Sep 19 17:15:46 2011 -0700"
  },
  "message": "USB: xhci: Set change bit when warm reset change is set.\n\nSometimes, when a USB 3.0 device is disconnected, the Intel Panther\nPoint xHCI host controller will report a link state change with the\nstate set to \"SS.Inactive\".  This causes the xHCI host controller to\nissue a warm port reset, which doesn\u0027t finish before the USB core times\nout while waiting for it to complete.\n\nWhen the warm port reset does complete, and the xHC gives back a port\nstatus change event, the xHCI driver kicks khubd.  However, it fails to\nset the bit indicating there is a change event for that port because the\nlogic in xhci-hub.c doesn\u0027t check for the warm port reset bit.\n\nAfter that, the warm port status change bit is never cleared by the USB\ncore, and the xHC stops reporting port status change bits.  (The xHCI\nspec says it shouldn\u0027t report more port events until all change bits are\ncleared.) This means any port changes when a new device is connected\nwill never be reported, and the port will seem \"dead\" until the xHCI\ndriver is unloaded and reloaded, or the computer is rebooted.  Fix this\nby making the xHCI driver set the port change bit when a warm port reset\nchange bit is set.\n\nA better solution would be to make the USB core handle warm port reset\nin differently, merging the current code with the standard port reset\ncode that does an incremental backoff on the timeout, and tries to\ncomplete the port reset two more times before giving up.  That more\ncomplicated fix will be merged next window, and this fix will be\nbackported to stable.\n\nThis should be backported to kernels as old as 3.0, since that was the\nfirst kernel with commit a11496ebf375 (\"xHCI: warm reset support\").\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e96d1f1fe6befacfc2a37bb84e1f48b734b2724",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/xhci-hub.c",
      "new_id": "723f8231193d95cb92cad93adcc3c47e917b8933",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/xhci-hub.c"
    }
  ]
}
