diff options
author | fanwang2 <fan.wang@intel.com> | 2017-12-18 09:20:26 +0800 |
---|---|---|
committer | Fu Siyuan <siyuan.fu@intel.com> | 2017-12-18 16:38:24 +0800 |
commit | 152f2d5e4546b43f5e842d8538c90055c36dcd19 (patch) | |
tree | 1141ca2b04af3afe1f2d38bab8df1c209c0690dd /NetworkPkg/DnsDxe | |
parent | 8ce6b650b0df28a0b8aa5784ccbbe4f8259b5626 (diff) | |
download | edk2-152f2d5e4546b43f5e842d8538c90055c36dcd19.tar.gz edk2-152f2d5e4546b43f5e842d8538c90055c36dcd19.tar.bz2 edk2-152f2d5e4546b43f5e842d8538c90055c36dcd19.zip |
NetworkPkg: Update Api from NetLibDetectMedia to NetLibDetectMediaWaitTimeout.
Since new Api NetLibDetectMediaWaitTimeout was involved to support connecting
state handling, and it is forward compatible. So apply this Api in NetworkPkg.
V2:
*Define time period in a macro instead of hard code.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wang Fan <fan.wang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Signed-off-by: fanwang2 <fan.wang@intel.com>
Diffstat (limited to 'NetworkPkg/DnsDxe')
-rw-r--r-- | NetworkPkg/DnsDxe/DnsDhcp.c | 16 | ||||
-rw-r--r-- | NetworkPkg/DnsDxe/DnsDhcp.h | 2 |
2 files changed, 10 insertions, 8 deletions
diff --git a/NetworkPkg/DnsDxe/DnsDhcp.c b/NetworkPkg/DnsDxe/DnsDhcp.c index 93779befa7..951477b78c 100644 --- a/NetworkPkg/DnsDxe/DnsDhcp.c +++ b/NetworkPkg/DnsDxe/DnsDhcp.c @@ -269,7 +269,7 @@ GetDns4ServerFromDhcp4 ( EFI_STATUS Status;
EFI_HANDLE Image;
EFI_HANDLE Controller;
- BOOLEAN MediaPresent;
+ EFI_STATUS MediaStatus;
EFI_HANDLE MnpChildHandle;
EFI_MANAGED_NETWORK_PROTOCOL *Mnp;
EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData;
@@ -316,9 +316,9 @@ GetDns4ServerFromDhcp4 ( //
// Check media.
//
- MediaPresent = TRUE;
- NetLibDetectMedia (Controller, &MediaPresent);
- if (!MediaPresent) {
+ MediaStatus = EFI_SUCCESS;
+ NetLibDetectMediaWaitTimeout (Controller, DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);
+ if (MediaStatus != EFI_SUCCESS) {
return EFI_NO_MEDIA;
}
@@ -620,7 +620,7 @@ GetDns6ServerFromDhcp6 ( EFI_DHCP6_PACKET_OPTION *Oro;
EFI_DHCP6_RETRANSMISSION InfoReqReXmit;
EFI_EVENT Timer;
- BOOLEAN MediaPresent;
+ EFI_STATUS MediaStatus;
DNS6_SERVER_INFOR DnsServerInfor;
Dhcp6Handle = NULL;
@@ -635,9 +635,9 @@ GetDns6ServerFromDhcp6 ( //
// Check media status before doing DHCP.
//
- MediaPresent = TRUE;
- NetLibDetectMedia (Controller, &MediaPresent);
- if (!MediaPresent) {
+ MediaStatus = EFI_SUCCESS;
+ NetLibDetectMediaWaitTimeout (Controller, DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);
+ if (MediaStatus != EFI_SUCCESS) {
return EFI_NO_MEDIA;
}
diff --git a/NetworkPkg/DnsDxe/DnsDhcp.h b/NetworkPkg/DnsDxe/DnsDhcp.h index 62bf7174e1..9c61f84c5c 100644 --- a/NetworkPkg/DnsDxe/DnsDhcp.h +++ b/NetworkPkg/DnsDxe/DnsDhcp.h @@ -37,6 +37,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define DHCP6_TAG_DNS_REQUEST 6
#define DHCP6_TAG_DNS_SERVER 23
+#define DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)
+
//
// The required Dns4 server information.
//
|