Efi_usb_io_protocol.usbportreset(), Usbportreset(), Func – Intel Extensible Firmware Interface User Manual
Page 603: Prototype, Parameters, Description, Status code returned

Protocols
— USB Support
Version 1.10
12/01/02
14-63
EFI_USB_IO_PROTOCOL.UsbPortReset()
Summary
Resets and reconfigures the USB controller. This function will work for all USB devices except
USB Hub Controllers.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_USB_IO_PORT_RESET) (
IN EFI_USB_IO_PROTOCOL
*This
);
Parameters
This
A pointer to the
instance. Type
EFI_USB_IO_PROTOCOL
is defined in Section 14.2.5.
Description
This function provides a reset mechanism by sending a RESET signal from the parent hub port. A
reconfiguration process will happen (that includes setting the address and setting the configuration).
This reset function does not change the bus topology. A USB hub controller cannot be reset using
this function, because it would impact the downstream USB devices. So if the controller is a USB
hub controller, then
EFI_INVALID_PARAMETER
is returned.
Status Code Returned
EFI_SUCCESS
The USB controller was reset.
EFI_INVALID_PARAMETER
If the controller specified by
This
is a USB hub.
EFI_DEVICE_ERROR
An error occurred during the reconfiguration process.