]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c
1. Refine the error handling when the PXE-v4 DHCP offer isn't valid
[mirror_edk2.git] / NetworkPkg / UefiPxeBcDxe / PxeBcImpl.c
index f5825908385b1c25ba5ed211d45f16abdd30646a..82fddb169ae0a6e14525cb4130637ffd5331e3ae 100644 (file)
@@ -388,6 +388,8 @@ EfiPxeBcDhcp (
   Mode->IcmpErrorReceived = FALSE;\r
   Private->Function       = EFI_PXE_BASE_CODE_FUNCTION_DHCP;\r
   Private->IsOfferSorted  = SortOffers;\r
+  Private->SolicitTimes   = 0;\r
+  Private->ElapsedTime    = 0;\r
 \r
   if (!Mode->Started) {\r
     return EFI_NOT_STARTED;\r
@@ -405,6 +407,10 @@ EfiPxeBcDhcp (
     //\r
     Status = PxeBcDhcp6Sarr (Private, Private->Dhcp6);\r
 \r
+    if (EFI_ERROR (Status)) {\r
+      return Status;\r
+    }\r
+\r
     //\r
     // Configure Udp6Read instance\r
     //\r
@@ -421,6 +427,10 @@ EfiPxeBcDhcp (
     //\r
     Status = PxeBcDhcp4Dora (Private, Private->Dhcp4);\r
 \r
+    if (EFI_ERROR (Status)) {\r
+      return Status;\r
+    }\r
+\r
     //\r
     // Configure Udp4Read instance\r
     //\r