/* Free an asynchronous request's resource such as memory. */
VOID UhciFreeAsyncReq(IN USB_HC_DEV *Uhc, IN UHCI_ASYNC_REQUEST *AsyncReq)
/* Free an asynchronous request's resource such as memory. */
VOID UhciFreeAsyncReq(IN USB_HC_DEV *Uhc, IN UHCI_ASYNC_REQUEST *AsyncReq)
{
  ASSERT ((Uhc != NULL) && (AsyncReq != NULL));
  UhciDestoryTds (Uhc, AsyncReq->FirstTd);
  UsbHcFreeMem (Uhc->MemPool, AsyncReq->QhSw, sizeof (UHCI_QH_SW));
  if (AsyncReq->Data != NULL) {
    UsbHcFreeMem (Uhc->MemPool, AsyncReq->Data, AsyncReq->DataLen);
  }
  gBS->FreePool (AsyncReq);
}