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:
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user