audk/MdeModulePkg/Universal/Network
Jiaxin Wu 5cb90e14e1 MdeModulePkg: Fix the wrong IpSb->State update
This patch is used to fix the wrong IpSb->State update issue.

Issue reproduce steps:
1 .First PXE boot, then boot to shell;
2. ifconfig -s eth0 dhcp (Success);
3. Reboot and do PXE, then boot to shell;
4. ifconfig -s eth0 dhcp (Platform failed to get IP address no matter
   how many times retried.)

Root cause:
On step3 reboot, policy is DHCP (Changed by step2). So, Ip4Dxe driver
will try to get one IP address from DHCP server automatically. Before
it get the IP address successfully, the IpSb->State will be always in
IP4_SERVICE_STARTED status until the Instance->Dhcp4Event is triggered,
then it can be changed to IP4_SERVICE_CONFIGED. But the DHCP process
will be interrupted by PXE boot, which will change the policy to static,
and the Instance->Dhcp4Event will be also closed directly. However,
current implementation doesn't update the IpSb->State to
IP4_SERVICE_UNSTARTED status in such case. So, failure happened.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
2016-06-23 15:40:31 +08:00
..
ArpDxe MdeModulePkg: Check received packet size before use it. 2016-04-01 13:30:08 +08:00
Dhcp4Dxe MedmodulePkg: Refine codes related to Dhcpv4 and Dhcpv6 configuration. 2016-06-23 09:39:23 +08:00
DpcDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
IScsiDxe MedmodulePkg: Refine codes related to Dhcpv4 and Dhcpv6 configuration. 2016-06-23 09:39:23 +08:00
Ip4Dxe MdeModulePkg: Fix the wrong IpSb->State update 2016-06-23 15:40:31 +08:00
MnpDxe MdeModulePkg:Fix a robustness issue of Mnp Driver 2016-02-29 09:24:58 +08:00
Mtftp4Dxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SnpDxe MdeModulePkg: Fix SNP.Initialize() spec conformance issue 2016-06-02 10:25:58 +08:00
Tcp4Dxe MdeModulePkg: Fix incorrect status check for SockProcessRcvToken 2016-05-26 16:14:40 +08:00
Udp4Dxe MdeModulePkg: Check received packet size before use it. 2016-04-01 13:30:08 +08:00
UefiPxeBcDxe MedmodulePkg: Refine codes related to Dhcpv4 and Dhcpv6 configuration. 2016-06-23 09:39:23 +08:00
VlanConfigDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00