]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c
1. Fix a bug in PXE driver that the PXE boot do not restart if a new boot option...
[mirror_edk2.git] / NetworkPkg / Mtftp6Dxe / Mtftp6Rrq.c
index da364329fcf721c9e508aa9e6dad77a0256dd843..7fc613a6652b151fbe9ca9399bc3e3b3f6b8095e 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Mtftp6 Rrq process functions implementation.\r
 \r
-  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -105,7 +105,7 @@ Mtftp6RrqSaveBlock (
   // This is the last block, save the block num\r
   //\r
   if (DataLen < Instance->BlkSize) {\r
-       Completed = TRUE;\r
+    Completed = TRUE;\r
     Instance->LastBlk = Block;\r
     Mtftp6SetLastBlockNum (&Instance->BlkList, Block);\r
   }\r
@@ -477,6 +477,7 @@ Mtftp6RrqHandleOack (
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
+  ASSERT (Options != NULL);\r
 \r
   //\r
   // Parse the extensive options in the packet.\r
@@ -546,13 +547,15 @@ Mtftp6RrqHandleOack (
         );\r
 \r
       Instance->McastPort  = ExtInfo.McastPort;\r
-      Instance->McastUdpIo = UdpIoCreateIo (\r
-                               Instance->Service->Controller,\r
-                               Instance->Service->Image,\r
-                               Mtftp6RrqConfigMcastUdpIo,\r
-                               UDP_IO_UDP6_VERSION,\r
-                               Instance\r
-                               );\r
+      if (Instance->McastUdpIo == NULL) {\r
+        Instance->McastUdpIo = UdpIoCreateIo (\r
+                                 Instance->Service->Controller,\r
+                                 Instance->Service->Image,\r
+                                 Mtftp6RrqConfigMcastUdpIo,\r
+                                 UDP_IO_UDP6_VERSION,\r
+                                 Instance\r
+                                 );\r
+      }\r
 \r
       if (Instance->McastUdpIo == NULL) {\r
         return EFI_DEVICE_ERROR;\r