EFI_TPL OldTpl;\r
DHCP6_INSTANCE *Instance;\r
DHCP6_SERVICE *Service;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
\r
if (This == NULL) {\r
return EFI_INVALID_PARAMETER;\r
//\r
// Check Media Satus.\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Service->Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Service->Controller, DHCP_CHECK_MEDIA_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
Status = EFI_NO_MEDIA;\r
goto ON_ERROR;\r
}\r
#define DHCP6_PORT_CLIENT 546\r
#define DHCP6_PORT_SERVER 547\r
\r
+#define DHCP_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
+\r
#define DHCP6_INSTANCE_FROM_THIS(Instance) CR ((Instance), DHCP6_INSTANCE, Dhcp6, DHCP6_INSTANCE_SIGNATURE)\r
#define DHCP6_SERVICE_FROM_THIS(Service) CR ((Service), DHCP6_SERVICE, ServiceBinding, DHCP6_SERVICE_SIGNATURE)\r
\r
EFI_STATUS Status;\r
EFI_HANDLE Image;\r
EFI_HANDLE Controller;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
EFI_HANDLE MnpChildHandle; \r
EFI_MANAGED_NETWORK_PROTOCOL *Mnp;\r
EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData;\r
//\r
// Check media.\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Controller, DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
return EFI_NO_MEDIA;\r
}\r
\r
EFI_DHCP6_PACKET_OPTION *Oro;\r
EFI_DHCP6_RETRANSMISSION InfoReqReXmit;\r
EFI_EVENT Timer;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
DNS6_SERVER_INFOR DnsServerInfor;\r
\r
Dhcp6Handle = NULL;\r
//\r
// Check media status before doing DHCP.\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Controller, DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
return EFI_NO_MEDIA;\r
}\r
\r
#define DHCP6_TAG_DNS_REQUEST 6\r
#define DHCP6_TAG_DNS_SERVER 23\r
\r
+#define DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
+\r
//\r
// The required Dns4 server information.\r
//\r
{\r
HTTP_BOOT_PRIVATE_DATA *Private;\r
HTTP_BOOT_VIRTUAL_NIC *VirtualNic;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
BOOLEAN UsingIpv6;\r
EFI_STATUS Status;\r
HTTP_BOOT_IMAGE_TYPE ImageType;\r
//\r
// Check media status before HTTP boot start\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Private->Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Private->Controller, HTTP_BOOT_CHECK_MEDIA_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
AsciiPrint ("\n Error: Could not detect network connection.\n");\r
return EFI_NO_MEDIA;\r
}\r
#ifndef __EFI_HTTP_BOOT_IMPL_H__\r
#define __EFI_HTTP_BOOT_IMPL_H__\r
\r
+#define HTTP_BOOT_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
+\r
/**\r
Attempt to complete a DHCPv4 D.O.R.A or DHCPv6 S.R.A.A sequence to retrieve the boot resource information.\r
\r
EFI_DHCP4_PACKET_OPTION *ParaList;\r
EFI_DHCP4_CONFIG_DATA Dhcp4ConfigData;\r
ISCSI_SESSION_CONFIG_NVDATA *NvData;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
\r
Dhcp4Handle = NULL;\r
Ip4Config2 = NULL;\r
//\r
// Check media status before doing DHCP.\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Controller, ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus!= EFI_SUCCESS) {\r
+ AsciiPrint ("\n Error: Could not detect network connection.\n");\r
return EFI_NO_MEDIA;\r
}\r
\r
EFI_DHCP6_PACKET_OPTION *Oro;\r
EFI_DHCP6_RETRANSMISSION InfoReqReXmit;\r
EFI_EVENT Timer;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
\r
//\r
// Check media status before doing DHCP.\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Controller, ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
+ AsciiPrint ("\n Error: Could not detect network connection.\n");\r
return EFI_NO_MEDIA;\r
}\r
\r
VOID *Tcp;\r
EFI_GUID *ProtocolGuid;\r
UINT8 RetryCount;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
\r
//\r
// Check media status before session login.\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Session->Private->Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Session->Private->Controller, ISCSI_CHECK_MEDIA_LOGIN_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
return EFI_NO_MEDIA;\r
}\r
\r
#define ISCSI_VERSION_MAX 0x00\r
#define ISCSI_VERSION_MIN 0x00\r
\r
+#define ISCSI_CHECK_MEDIA_LOGIN_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
+#define ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
+\r
#define ISCSI_REDIRECT_ADDR_START_DELIMITER '['\r
#define ISCSI_REDIRECT_ADDR_END_DELIMITER ']'\r
\r
EFI_PXE_BASE_CODE_PROTOCOL *PxeBc;\r
BOOLEAN UsingIpv6;\r
EFI_STATUS Status;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
\r
if (FilePath == NULL || !IsDevicePathEnd (FilePath)) {\r
return EFI_INVALID_PARAMETER;\r
//\r
// Check media status before PXE start\r
//\r
- MediaPresent = TRUE;\r
- NetLibDetectMedia (Private->Controller, &MediaPresent);\r
- if (!MediaPresent) {\r
+ MediaStatus = EFI_SUCCESS;\r
+ NetLibDetectMediaWaitTimeout (Private->Controller, PXEBC_CHECK_MEDIA_WAITING_TIME, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
return EFI_NO_MEDIA;\r
}\r
\r
#define PXEBC_MENU_MAX_NUM 24\r
#define PXEBC_OFFER_MAX_NUM 16\r
\r
+#define PXEBC_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
+\r
#define PXEBC_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('P', 'X', 'E', 'P')\r
#define PXEBC_VIRTUAL_NIC_SIGNATURE SIGNATURE_32 ('P', 'X', 'E', 'V')\r
#define PXEBC_PRIVATE_DATA_FROM_PXEBC(a) CR (a, PXEBC_PRIVATE_DATA, PxeBc, PXEBC_PRIVATE_DATA_SIGNATURE)\r