MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / XhciDxe / XhciSched.h
index 931c7efa0c283160f1168788e0b3a569945beb19..f40f94c1e4b711acf47b37adb4f4964cb0c129ac 100644 (file)
@@ -2,7 +2,7 @@
 \r
   This file contains the definition for XHCI host controller schedule routines.\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
@@ -80,6 +80,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define TRB_COMPLETION_TRB_ERROR              5\r
 #define TRB_COMPLETION_STALL_ERROR            6\r
 #define TRB_COMPLETION_SHORT_PACKET           13\r
+#define TRB_COMPLETION_STOPPED                26\r
+#define TRB_COMPLETION_STOPPED_LENGTH_INVALID 27\r
 \r
 //\r
 // The topology string used to present usb device location\r
@@ -1343,6 +1345,7 @@ XhcDequeueTrbFromEndpoint (
   @param  Xhc                   The XHCI Instance.\r
   @param  SlotId                The slot id to be configured.\r
   @param  Dci                   The device context index of endpoint.\r
+  @param  PendingUrb            The pending URB to check completion status when stopping the end point.\r
 \r
   @retval EFI_SUCCESS           Stop endpoint successfully.\r
   @retval Others                Failed to stop endpoint.\r
@@ -1353,7 +1356,8 @@ EFIAPI
 XhcStopEndpoint (\r
   IN USB_XHCI_INSTANCE      *Xhc,\r
   IN UINT8                  SlotId,\r
-  IN UINT8                  Dci\r
+  IN UINT8                  Dci,\r
+  IN URB                    *PendingUrb  OPTIONAL\r
   );\r
 \r
 /**\r