Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14137
6f19259b-4bc3-4df7-8a09-
765794883524
/** @file\r
This implementation of EFI_PXE_BASE_CODE_PROTOCOL and EFI_LOAD_FILE_PROTOCOL.\r
\r
/** @file\r
This implementation of EFI_PXE_BASE_CODE_PROTOCOL and EFI_LOAD_FILE_PROTOCOL.\r
\r
- Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2007 - 2013, 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
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
// Start S.A.R.R. process to get a IPv6 address and other boot information.\r
//\r
Status = PxeBcDhcp6Sarr (Private, Private->Dhcp6);\r
// Start S.A.R.R. process to get a IPv6 address and other boot information.\r
//\r
Status = PxeBcDhcp6Sarr (Private, Private->Dhcp6);\r
-\r
- if (EFI_ERROR (Status)) {\r
- goto ON_EXIT;\r
- }\r
// Start D.O.R.A. process to get a IPv4 address and other boot information.\r
//\r
Status = PxeBcDhcp4Dora (Private, Private->Dhcp4);\r
// Start D.O.R.A. process to get a IPv4 address and other boot information.\r
//\r
Status = PxeBcDhcp4Dora (Private, Private->Dhcp4);\r
-\r
- if (EFI_ERROR (Status)) {\r
- goto ON_EXIT;\r
- }\r
+\r
+ //\r
+ // Reconfigure the UDP instance with the default configuration.\r
+ //\r
if (Mode->UsingIpv6) {\r
Private->Udp6Read->Configure (Private->Udp6Read, &Private->Udp6CfgData);\r
} else {\r
if (Mode->UsingIpv6) {\r
Private->Udp6Read->Configure (Private->Udp6Read, &Private->Udp6CfgData);\r
} else {\r
- if (EFI_ERROR (Status)) {\r
- goto ON_EXIT;\r
- } else {\r
+ if (!EFI_ERROR (Status)) {\r
//\r
// Parse the cached PXE reply packet, and store it into mode data if valid.\r
//\r
//\r
// Parse the cached PXE reply packet, and store it into mode data if valid.\r
//\r
Mode->IcmpErrorReceived = TRUE;\r
}\r
\r
Mode->IcmpErrorReceived = TRUE;\r
}\r
\r
- if (EFI_ERROR (Status)) {\r
- goto ON_EXIT;\r
- }\r
- \r
-ON_EXIT:\r
+ //\r
+ // Reconfigure the UDP instance with the default configuration.\r
+ //\r
if (Mode->UsingIpv6) {\r
Private->Udp6Read->Configure (Private->Udp6Read, &Private->Udp6CfgData);\r
} else {\r
if (Mode->UsingIpv6) {\r
Private->Udp6Read->Configure (Private->Udp6Read, &Private->Udp6CfgData);\r
} else {\r
/** @file\r
Support functions implementation for UefiPxeBc Driver.\r
\r
/** @file\r
Support functions implementation for UefiPxeBc Driver.\r
\r
- Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2007 - 2013, 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
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
}\r
\r
Status = Private->Ip6->Receive (Private->Ip6, &Private->Icmp6Token);\r
}\r
\r
Status = Private->Ip6->Receive (Private->Ip6, &Private->Icmp6Token);\r
- if (EFI_ERROR (Status)) {\r
- goto ON_EXIT;\r
- }\r
-\r
} else {\r
ASSERT (SubnetMask != NULL);\r
CopyMem (&Private->Udp4CfgData.StationAddress, StationIp, sizeof (EFI_IPv4_ADDRESS));\r
} else {\r
ASSERT (SubnetMask != NULL);\r
CopyMem (&Private->Udp4CfgData.StationAddress, StationIp, sizeof (EFI_IPv4_ADDRESS));\r
}\r
\r
Status = Private->Ip4->Receive (Private->Ip4, &Private->IcmpToken);\r
}\r
\r
Status = Private->Ip4->Receive (Private->Ip4, &Private->IcmpToken);\r
- if (EFI_ERROR (Status)) {\r
- goto ON_EXIT;\r
- }\r
-\r