]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
NetworkPkg: Source fixes and cleanup for ARMGCC compiles
[mirror_edk2.git] / NetworkPkg / UefiPxeBcDxe / PxeBcDriver.c
index 0b2743d1279d72c7410f6b532fd83a8a871f3cef..92fd1f19df64bc9ebbf972a58dcc96adb7a5b306 100644 (file)
@@ -1,6 +1,7 @@
 /** @file\r
   Driver Binding functions implementationfor for UefiPxeBc Driver.\r
 \r
+  (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>\r
   Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
@@ -1353,9 +1354,6 @@ ON_ERROR:
            &gEfiCallerIdGuid,\r
            &Private->Id\r
            );\r
-    if (Private != NULL) {\r
-      FreePool (Private);\r
-    }\r
   }\r
 \r
   if (IpVersion == IP_VERSION_4) {\r
@@ -1364,6 +1362,10 @@ ON_ERROR:
     PxeBcDestroyIp6Children (This, Private);\r
   }\r
 \r
+  if (FirstStart && Private != NULL) {\r
+    FreePool (Private);\r
+  }\r
+\r
   return Status;\r
 }\r
 \r
@@ -1399,7 +1401,6 @@ PxeBcStop (
   EFI_LOAD_FILE_PROTOCOL          *LoadFile;\r
   EFI_STATUS                      Status;\r
   EFI_HANDLE                      NicHandle;\r
-  BOOLEAN                         IsIpv6;\r
   PXEBC_PRIVATE_PROTOCOL          *Id;\r
 \r
   Private    = NULL;\r
@@ -1407,7 +1408,6 @@ PxeBcStop (
   VirtualNic = NULL;\r
   LoadFile   = NULL;\r
   Id         = NULL;\r
-  IsIpv6     = FALSE;\r
 \r
   Status = gBS->OpenProtocol (\r
                   ControllerHandle,\r