MdeModulePkg: Fix the issue cannot boot to UEFI Network after reset

DHCP4 service allows only one of its children to be configured
in the active state,If the DHCP4 D.O.R.A started by IP4 auto
configuration and has not been completed, the Dhcp4 state machine
will not be in the right state for the PXE to start a new round
D.O.R.A., so we need to switch it's policy to static.

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: Wu Jiaxin <jiaxin.wu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18107 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Zhang Lubo
2015-07-29 06:37:48 +00:00
committed by luobozhang
parent 94dfaa233c
commit 14e84fd888
6 changed files with 92 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
/** @file
The driver binding for UEFI PXEBC protocol.
Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2007 - 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
@@ -375,6 +375,17 @@ PxeBcDriverBindingStart (
if (EFI_ERROR (Status)) {
goto ON_ERROR;
}
//
// Locate Ip4->Ip4Config2 and store it for set IPv4 Policy.
//
Status = gBS->HandleProtocol (
ControllerHandle,
&gEfiIp4Config2ProtocolGuid,
(VOID **) &Private->Ip4Config2
);
if (EFI_ERROR (Status)) {
goto ON_ERROR;
}
return EFI_SUCCESS;