edk2/MdeModulePkg/Bus
Alok Kulkarni a00ad45ea4 MdeModulePkg: UsbBusDxe Reset USB port GetPortStatus returns device error.
During USB device enumeration, issuing a hot reset on a port is skipped if
there is a reset change status already detected on the port. This can
happen when enumerating devices after a host controller soft reset (which
drives a hot reset down the ports).

However, in certain cases an attached device may not be responsive even if
the reset change and connection status bits are set. For e.g., according
to xHCI spec section 4.19.5.1 the port reset change bits can be set when
a hot reset driven on the port transitions to a warm reset and completes
with errors. For such instances it is worthwhile to force a hot reset
during enumeration to try and recover unresponsive devices.

During enumeration check whether querying port status returns
EFI_DEVICE_ERROR and try a port reset if there is a device attached to
the port.

Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
2025-07-10 09:06:35 +08:00
..
Ata MdeModulePkg: Update AtaPassThru to UEFI 2.10A 2025-01-09 12:40:45 +08:00
I2c/I2cDxe MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Isa MdeModulePkg: Update the comments of ReadKeyStroke and ReadKeyStrokeEx 2024-04-03 10:25:06 +08:00
Pci MdeModulePkg: Remove UGA support 2025-07-08 15:42:03 +00:00
Scsi MdeModulePkg: Update ReceiveData and SendData function description 2024-03-13 02:48:38 +00:00
Sd MdeModulePkg: Update ReceiveData and SendData function description 2024-03-13 02:48:38 +00:00
Spi MdeModulePkg/SpiNorFlashJedecSfdp: Initialize AddressSize 2025-06-13 15:47:59 +00:00
Ufs MdeModulePkg/UfsPassThruDxe: Correct size in UfsHc->FreeBuffer call 2025-06-25 14:48:08 +08:00
Usb MdeModulePkg: UsbBusDxe Reset USB port GetPortStatus returns device error. 2025-07-10 09:06:35 +08:00