MdeModulePkg: 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 MdeModulePkg.

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>
This commit is contained in:
fanwang2
2017-12-18 09:16:36 +08:00
committed by Fu Siyuan
parent 8569a87ef0
commit 8ce6b650b0
7 changed files with 21 additions and 16 deletions

View File

@@ -2801,7 +2801,7 @@ EfiPxeLoadFile (
BOOLEAN NewMakeCallback;
EFI_STATUS Status;
UINT64 TmpBufSize;
BOOLEAN MediaPresent;
EFI_STATUS MediaStatus;
if (FilePath == NULL || !IsDevicePathEnd (FilePath)) {
return EFI_INVALID_PARAMETER;
@@ -2827,9 +2827,9 @@ EfiPxeLoadFile (
//
// Check media status before PXE start
//
MediaPresent = TRUE;
NetLibDetectMedia (Private->Controller, &MediaPresent);
if (!MediaPresent) {
MediaStatus = EFI_SUCCESS;
NetLibDetectMediaWaitTimeout (Private->Controller, PXEBC_CHECK_MEDIA_WAITING_TIME, &MediaStatus);
if (MediaStatus != EFI_SUCCESS) {
return EFI_NO_MEDIA;
}

View File

@@ -57,6 +57,7 @@ typedef struct _PXEBC_PRIVATE_DATA PXEBC_PRIVATE_DATA;
#define PXEBC_DEFAULT_TFTP_OVERHEAD_SIZE 4
#define PXEBC_DEFAULT_PACKET_SIZE 1480
#define PXEBC_DEFAULT_LIFETIME 50000 // 50ms, unit is microsecond
#define PXEBC_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)
struct _PXEBC_PRIVATE_DATA {
UINT32 Signature;