]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h
MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / XhciDxe / Xhci.h
index 0f53bb0eff7c6bb3fe5abb5d02589a4ef654b1ba..76daaff4a4e57668bcd048b6cb1f9917a2f041e6 100644 (file)
@@ -2,7 +2,7 @@
 \r
   Provides some data structure definitions used by the XHCI host controller driver.\r
 \r
-Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -61,6 +61,11 @@ typedef struct _USB_DEV_CONTEXT      USB_DEV_CONTEXT;
 //\r
 #define XHC_RESET_TIMEOUT            (1000)\r
 //\r
+// TRSTRCY delay requirement in usb 2.0 spec chapter 7.1.7.5.\r
+// The unit is microsecond, setting it as 10ms.\r
+//\r
+#define XHC_RESET_RECOVERY_DELAY     (10 * 1000)\r
+//\r
 // XHC async transfer timer interval, set by experience.\r
 // The unit is 100us, takes 1ms as interval.\r
 //\r
@@ -84,7 +89,7 @@ typedef struct _USB_DEV_CONTEXT      USB_DEV_CONTEXT;
 #define INT_INTER_ASYNC              4\r
 \r
 //\r
-// Iterate through the doule linked list. This is delete-safe.\r
+// Iterate through the double linked list. This is delete-safe.\r
 // Don't touch NextEntry\r
 //\r
 #define EFI_LIST_FOR_EACH_SAFE(Entry, NextEntry, ListHead) \\r
@@ -238,6 +243,7 @@ struct _USB_XHCI_INSTANCE {
   UINT64                    *DCBAA;\r
   VOID                      *DCBAAMap;\r
   UINT32                    MaxSlotsEn;\r
+  URB                       *PendingUrb;\r
   //\r
   // Cmd Transfer Ring\r
   //\r
@@ -308,7 +314,7 @@ XhcDriverBindingStart (
   );\r
 \r
 /**\r
-  Stop this driver on ControllerHandle. Support stoping any child handles\r
+  Stop this driver on ControllerHandle. Support stopping any child handles\r
   created by this driver.\r
 \r
   @param  This                 Protocol instance pointer.\r