diff options
Diffstat (limited to 'NetworkPkg/IScsiDxe')
-rw-r--r-- | NetworkPkg/IScsiDxe/IScsiDhcp.c | 9 | ||||
-rw-r--r-- | NetworkPkg/IScsiDxe/IScsiDhcp6.c | 9 | ||||
-rw-r--r-- | NetworkPkg/IScsiDxe/IScsiProto.c | 8 | ||||
-rw-r--r-- | NetworkPkg/IScsiDxe/IScsiProto.h | 3 |
4 files changed, 17 insertions, 12 deletions
diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp.c b/NetworkPkg/IScsiDxe/IScsiDhcp.c index 309ce0daf2..e6f6972ebd 100644 --- a/NetworkPkg/IScsiDxe/IScsiDhcp.c +++ b/NetworkPkg/IScsiDxe/IScsiDhcp.c @@ -443,7 +443,7 @@ IScsiDoDhcp ( EFI_DHCP4_PACKET_OPTION *ParaList;
EFI_DHCP4_CONFIG_DATA Dhcp4ConfigData;
ISCSI_SESSION_CONFIG_NVDATA *NvData;
- BOOLEAN MediaPresent;
+ EFI_STATUS MediaStatus;
Dhcp4Handle = NULL;
Ip4Config2 = NULL;
@@ -453,9 +453,10 @@ IScsiDoDhcp ( //
// Check media status before doing DHCP.
//
- MediaPresent = TRUE;
- NetLibDetectMedia (Controller, &MediaPresent);
- if (!MediaPresent) {
+ MediaStatus = EFI_SUCCESS;
+ NetLibDetectMediaWaitTimeout (Controller, ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);
+ if (MediaStatus!= EFI_SUCCESS) {
+ AsciiPrint ("\n Error: Could not detect network connection.\n");
return EFI_NO_MEDIA;
}
diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp6.c b/NetworkPkg/IScsiDxe/IScsiDhcp6.c index 06c634c3cd..90acb94e0e 100644 --- a/NetworkPkg/IScsiDxe/IScsiDhcp6.c +++ b/NetworkPkg/IScsiDxe/IScsiDhcp6.c @@ -401,14 +401,15 @@ IScsiDoDhcp6 ( EFI_DHCP6_PACKET_OPTION *Oro;
EFI_DHCP6_RETRANSMISSION InfoReqReXmit;
EFI_EVENT Timer;
- BOOLEAN MediaPresent;
+ EFI_STATUS MediaStatus;
//
// Check media status before doing DHCP.
//
- MediaPresent = TRUE;
- NetLibDetectMedia (Controller, &MediaPresent);
- if (!MediaPresent) {
+ MediaStatus = EFI_SUCCESS;
+ NetLibDetectMediaWaitTimeout (Controller, ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME, &MediaStatus);
+ if (MediaStatus != EFI_SUCCESS) {
+ AsciiPrint ("\n Error: Could not detect network connection.\n");
return EFI_NO_MEDIA;
}
diff --git a/NetworkPkg/IScsiDxe/IScsiProto.c b/NetworkPkg/IScsiDxe/IScsiProto.c index 1602a26132..38e4af26bc 100644 --- a/NetworkPkg/IScsiDxe/IScsiProto.c +++ b/NetworkPkg/IScsiDxe/IScsiProto.c @@ -444,14 +444,14 @@ IScsiSessionLogin ( VOID *Tcp;
EFI_GUID *ProtocolGuid;
UINT8 RetryCount;
- BOOLEAN MediaPresent;
+ EFI_STATUS MediaStatus;
//
// Check media status before session login.
//
- MediaPresent = TRUE;
- NetLibDetectMedia (Session->Private->Controller, &MediaPresent);
- if (!MediaPresent) {
+ MediaStatus = EFI_SUCCESS;
+ NetLibDetectMediaWaitTimeout (Session->Private->Controller, ISCSI_CHECK_MEDIA_LOGIN_WAITING_TIME, &MediaStatus);
+ if (MediaStatus != EFI_SUCCESS) {
return EFI_NO_MEDIA;
}
diff --git a/NetworkPkg/IScsiDxe/IScsiProto.h b/NetworkPkg/IScsiDxe/IScsiProto.h index 367914d477..d57bda5909 100644 --- a/NetworkPkg/IScsiDxe/IScsiProto.h +++ b/NetworkPkg/IScsiDxe/IScsiProto.h @@ -40,6 +40,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define ISCSI_VERSION_MAX 0x00
#define ISCSI_VERSION_MIN 0x00
+#define ISCSI_CHECK_MEDIA_LOGIN_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)
+#define ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)
+
#define ISCSI_REDIRECT_ADDR_START_DELIMITER '['
#define ISCSI_REDIRECT_ADDR_END_DELIMITER ']'
|