summaryrefslogtreecommitdiffstats
path: root/NetworkPkg
diff options
context:
space:
mode:
authorFu Siyuan <siyuan.fu@intel.com>2018-01-02 11:41:24 +0800
committerFu Siyuan <siyuan.fu@intel.com>2018-01-04 09:07:16 +0800
commit6a4eed9bad1c4fc08df5cf36eed0998417db43c3 (patch)
tree16abb09b9a2813a5d4db73806589901b8c100b9c /NetworkPkg
parente4fb8f1d313858bd5e415725e65e65679f2b05a0 (diff)
downloadedk2-6a4eed9bad1c4fc08df5cf36eed0998417db43c3.tar.gz
edk2-6a4eed9bad1c4fc08df5cf36eed0998417db43c3.tar.bz2
edk2-6a4eed9bad1c4fc08df5cf36eed0998417db43c3.zip
NetworkPkg: Abort the PXE process if DHCP has been started by other instance.
PXE need to use extended DHCP options and check received offers in callback function, so there is no need to continue the PXE process if DHCP driver has been started by other instance but not PXE driver itself. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Sriram Subramanian <sriram-s@hpe.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Diffstat (limited to 'NetworkPkg')
-rw-r--r--NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c
index 101c65824a..9c33835759 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c
@@ -1,7 +1,7 @@
/** @file
Functions implementation related with DHCPv4 for UefiPxeBc Driver.
- Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2018, 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
@@ -1697,13 +1697,8 @@ PxeBcDhcp4Dora (
ZeroMem (Private->OfferCount, sizeof (Private->OfferCount));
ZeroMem (Private->OfferIndex, sizeof (Private->OfferIndex));
- //
- // Start DHCPv4 D.O.R.A. process to acquire IPv4 address. This may
- // have already been done, thus do not leave in error if the return
- // code is EFI_ALREADY_STARTED.
- //
Status = Dhcp4->Start (Dhcp4, NULL);
- if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) {
+ if (EFI_ERROR (Status)) {
if (Status == EFI_ICMP_ERROR) {
PxeMode->IcmpErrorReceived = TRUE;
}