diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c index 4ea15a6314..dfdfd35cb7 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c @@ -1024,6 +1024,7 @@ EfiPxeBcDiscover ( } else { Status = EFI_DEVICE_ERROR; } + return Status; } else { PxeBcParseCachedDhcpPacket (&Private->PxeReply); } @@ -1278,6 +1279,10 @@ EfiPxeBcMtftp ( Mode->IcmpErrorReceived = TRUE; } + if (EFI_ERROR (Status)) { + return Status; + } + Status = Private->Udp4Read->Configure (Private->Udp4Read, &Private->Udp4CfgData); // // Dhcp(), Discover(), and Mtftp() set the IP filter, and return with the IP