/* Recycle the RxData and other resources used to hold and deliver the received packet. */
VOID EFIAPI MnpRecycleRxData(IN EFI_EVENT Event, IN VOID *Context)
/* Recycle the RxData and other resources used to hold and deliver the received packet. */
VOID EFIAPI MnpRecycleRxData(IN EFI_EVENT Event, IN VOID *Context)
{
  MNP_RXDATA_WRAP  *RxDataWrap;
  MNP_DEVICE_DATA  *MnpDeviceData;
  ASSERT (Context != NULL);
  RxDataWrap = (MNP_RXDATA_WRAP *)Context;
  NET_CHECK_SIGNATURE (RxDataWrap->Instance, MNP_INSTANCE_DATA_SIGNATURE);
  ASSERT (RxDataWrap->Nbuf != NULL);
  MnpDeviceData = RxDataWrap->Instance->MnpServiceData->MnpDeviceData;
  NET_CHECK_SIGNATURE (MnpDeviceData, MNP_DEVICE_DATA_SIGNATURE);
  MnpFreeNbuf (MnpDeviceData, RxDataWrap->Nbuf);
  RxDataWrap->Nbuf = NULL;
  gBS->CloseEvent (RxDataWrap->RxData.RecycleEvent);
  RemoveEntryList (&RxDataWrap->WrapEntry);
  FreePool (RxDataWrap);
}