Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: a00ad45ea45203052491fe2b25c9393a59c75c53
      
https://github.com/tianocore/edk2/commit/a00ad45ea45203052491fe2b25c9393a59c75c53
  Author: Alok Kulkarni <18198210+akulk...@users.noreply.github.com>
  Date:   2025-07-10 (Thu, 10 Jul 2025)

  Changed paths:
    M MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c

  Log Message:
  -----------
  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 <aaron...@microsoft.com>



To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to