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