aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.h
diff options
context:
space:
mode:
authorSarah Sharp <sarah.a.sharp@linux.intel.com>2011-03-11 13:20:58 -0500
committerSarah Sharp <sarah.a.sharp@linux.intel.com>2011-03-13 21:23:48 -0400
commitc6cc27c782e3a64cced0fcf1d6f492c8d8881c76 (patch)
treeb671f8101eb7513343f8bb02a7e00712798aa0ed /drivers/usb/host/xhci.h
parentb320937972d456db2a46fdcbc6bebc4dcdc9daa4 (diff)
xhci: Return canceled URBs immediately when host is halted.
When the xHCI host controller is halted, it won't respond to commands placed on the command ring. So if an URB is cancelled after the first roothub is deallocated, it will try to place a stop endpoint command on the command ring, which will fail. The command watchdog timer will fire after five seconds, and the host controller will be marked as dying, and all URBs will be completed. Add a flag to the xHCI's internal state variable for when the host controller is halted. Immediately return the canceled URB if the host controller is halted. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r--drivers/usb/host/xhci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index e9217bb288ad..e69f1cdf4b5b 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1260,6 +1260,7 @@ struct xhci_hcd {
1260 * There are no reports of xHCI host controllers that display this issue. 1260 * There are no reports of xHCI host controllers that display this issue.
1261 */ 1261 */
1262#define XHCI_STATE_DYING (1 << 0) 1262#define XHCI_STATE_DYING (1 << 0)
1263#define XHCI_STATE_HALTED (1 << 1)
1263 /* Statistics */ 1264 /* Statistics */
1264 int error_bitmask; 1265 int error_bitmask;
1265 unsigned int quirks; 1266 unsigned int quirks;