Home | History | Annotate | Download | only in VirtioNetDxe
      1 /** @file
      2 
      3   Helper functions used by at least two Simple Network Protocol methods.
      4 
      5   Copyright (C) 2013, Red Hat, Inc.
      6 
      7   This program and the accompanying materials are licensed and made available
      8   under the terms and conditions of the BSD License which accompanies this
      9   distribution. The full text of the license may be found at
     10   http://opensource.org/licenses/bsd-license.php
     11 
     12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
     13   WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     14 
     15 **/
     16 
     17 #include <Library/MemoryAllocationLib.h>
     18 
     19 #include "VirtioNet.h"
     20 
     21 /**
     22   Release RX and TX resources on the boundary of the
     23   EfiSimpleNetworkInitialized state.
     24 
     25   These functions contribute to rolling back a partial, failed initialization
     26   of the virtio-net SNP driver instance, or to shutting down a fully
     27   initialized, running instance.
     28 
     29   They are only callable by the VirtioNetInitialize() and the
     30   VirtioNetShutdown() SNP methods. See the state diagram in "VirtioNet.h".
     31 
     32   @param[in,out] Dev  The VNET_DEV driver instance being shut down, or whose
     33                       partial, failed initialization is being rolled back.
     34 */
     35 
     36 VOID
     37 EFIAPI
     38 VirtioNetShutdownRx (
     39   IN OUT VNET_DEV *Dev
     40   )
     41 {
     42   FreePool (Dev->RxBuf);
     43 }
     44 
     45 
     46 VOID
     47 EFIAPI
     48 VirtioNetShutdownTx (
     49   IN OUT VNET_DEV *Dev
     50   )
     51 {
     52   FreePool (Dev->TxFreeStack);
     53 }
     54