From 357af28525c3a5be6ca0a201f2533dc0a372dbfb Mon Sep 17 00:00:00 2001 From: sfu5 Date: Fri, 16 Dec 2011 09:00:47 +0000 Subject: Reconfigure the UdpRead instance if an error occurred in Dhcp, Discover and Mtftp process. Signed-off-by: sfu5 Reviewed-by: qianouyang Reviewed-by: tye git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12884 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c') diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c index 6f6d7f92ae..511e064873 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c @@ -727,7 +727,7 @@ ON_EXIT: } } - Status = Private->Udp4Read->Configure (Private->Udp4Read, &Private->Udp4CfgData); + Private->Udp4Read->Configure (Private->Udp4Read, &Private->Udp4CfgData); // // Dhcp(), Discover(), and Mtftp() set the IP filter, and return with the IP @@ -1024,7 +1024,7 @@ EfiPxeBcDiscover ( } else { Status = EFI_DEVICE_ERROR; } - return Status; + goto ON_EXIT; } else { PxeBcParseCachedDhcpPacket (&Private->PxeReply); } @@ -1043,7 +1043,7 @@ EfiPxeBcDiscover ( ON_EXIT: - Status = Private->Udp4Read->Configure (Private->Udp4Read, &Private->Udp4CfgData); + Private->Udp4Read->Configure (Private->Udp4Read, &Private->Udp4CfgData); // // Dhcp(), Discover(), and Mtftp() set the IP filter, and return with the IP @@ -1280,10 +1280,11 @@ EfiPxeBcMtftp ( } if (EFI_ERROR (Status)) { - return Status; + goto ON_EXIT; } - Status = Private->Udp4Read->Configure (Private->Udp4Read, &Private->Udp4CfgData); +ON_EXIT: + Private->Udp4Read->Configure (Private->Udp4Read, &Private->Udp4CfgData); // // Dhcp(), Discover(), and Mtftp() set the IP filter, and return with the IP // receive filter list emptied and the filter set to EFI_PXE_BASE_CODE_IP_FILTER_STATION_IP. -- cgit v1.2.3