diff options
author | Zhang Lubo <lubo.zhang@intel.com> | 2015-07-26 08:03:30 +0000 |
---|---|---|
committer | jljusten <jljusten@Edk2> | 2015-07-26 08:03:30 +0000 |
commit | cbfb9e5eaf51aa351842aaa58efd1c2a8a38ef3a (patch) | |
tree | 3519e70d40b6cae3a1758e55776cd566a9293551 /MdeModulePkg/Universal/Network/UefiPxeBcDxe | |
parent | 61047329990eb414657ab85c38d028b37eb576c4 (diff) | |
download | edk2-platforms-cbfb9e5eaf51aa351842aaa58efd1c2a8a38ef3a.tar.xz |
MdeModulePkg: Fix the issue EfiPxeBcDhcp() may return wrong status.
if the instance of the DHCP4 protocol driver is in the Dhcp4Bound
status that is DHCP configuration has completed, so the Dhcp4->Start
FUNC in the EfiPxcBcDhcp() will return EFI_ALREADY_STARTED status
which lead to EfiPxeBcDhcp FUNC not in correspondence with UEFI spec.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
[lersek@redhat.com: updated copyright year as Siyuan asked]
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18050 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/Network/UefiPxeBcDxe')
-rw-r--r-- | MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c index 7bdffc55d0..0c54f46516 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c @@ -1,7 +1,7 @@ /** @file
Interface routines for PxeBc.
-Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2013, 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -626,7 +626,7 @@ EfiPxeBcDhcp ( ZeroMem (Private->ProxyIndex, sizeof (Private->ProxyIndex));
Status = Dhcp4->Start (Dhcp4, NULL);
- if (EFI_ERROR (Status)) {
+ if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) {
if (Status == EFI_ICMP_ERROR) {
Mode->IcmpErrorReceived = TRUE;
}
|