Protocols — USB Support
Version 1.10 12/01/02 14-51
Description
This function allows a USB device driver to communicate with a USB device with an Isochronous
Transfer. The type of transfer is different than the other types because the USB Bus Driver will not
attempt to perform error recovery if transfer fails. If the USB transfer is completed successfully,
then EFI_SUCCESS is returned. The isochronous transfer is designed to be completed within 1
USB frame time, if it cannot be completed, EFI_TIMEOUT is returned. If the transfer fails due to
other reasons, then EFI_DEVICE_ERROR is returned and the detailed error status is returned in
Status. If the data length exceeds the maximum payload per USB frame time, then it is this
function’s responsibility to divide the data into a set of smaller packets that fit into a USB frame
time. If all the packets are transferred successfully, then EFI_SUCCESS is returned.
Status Code Returned
EFI_SUCCESS The isochronous transfer has been successfully executed.
EFI_INVALID_PARAMETER
The parameter
DeviceEndpoint is not valid.
EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
EFI_TIMEOUT The transfer cannot be completed within the 1 USB frame time.
EFI_DEVICE_ERROR The transfer failed due to the reason other than timeout, The error status
is returned in
Status.