diff options
-rw-r--r-- | MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 7 | ||||
-rw-r--r-- | MdeModulePkg/Bus/Pci/XhciPei/XhciSched.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c index 13247f7..4b74627 100644 --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c @@ -4,6 +4,7 @@ Copyright (c) 2011 - 2020, Intel Corporation. All rights reserved.<BR>
Copyright (c) Microsoft Corporation.<BR>
+Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -2807,6 +2808,9 @@ XhcInitializeEndpointContext ( MaxDci = 0;
NumEp = IfDesc->NumEndpoints;
+ if (NumEp == 0) {
+ MaxDci = 1;
+ }
EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);
for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {
@@ -3006,6 +3010,9 @@ XhcInitializeEndpointContext64 ( MaxDci = 0;
NumEp = IfDesc->NumEndpoints;
+ if (NumEp == 0) {
+ MaxDci = 1;
+ }
EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);
for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {
diff --git a/MdeModulePkg/Bus/Pci/XhciPei/XhciSched.c b/MdeModulePkg/Bus/Pci/XhciPei/XhciSched.c index cc597a4..8400c90 100644 --- a/MdeModulePkg/Bus/Pci/XhciPei/XhciSched.c +++ b/MdeModulePkg/Bus/Pci/XhciPei/XhciSched.c @@ -3,6 +3,7 @@ PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid which is used to enable recovery function from USB Drivers.
Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -1752,6 +1753,9 @@ XhcPeiSetConfigCmd ( }
NumEp = IfDesc->NumEndpoints;
+ if ((NumEp == 0) && (MaxDci == 0)) {
+ MaxDci = 1;
+ }
EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);
for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {
@@ -1974,6 +1978,9 @@ XhcPeiSetConfigCmd64 ( }
NumEp = IfDesc->NumEndpoints;
+ if ((NumEp == 0) && (MaxDci == 0)) {
+ MaxDci = 1;
+ }
EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);
for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {
|