diff --git a/MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c b/MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c index 0945c64694..0347dc7f1f 100644 --- a/MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c +++ b/MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c @@ -1042,9 +1042,12 @@ MnpCheckPacketTimeout ( RxDataWrap = NET_LIST_USER_STRUCT (RxEntry, MNP_RXDATA_WRAP, WrapEntry); - if (RxDataWrap->TimeoutTick >= MNP_TIMEOUT_CHECK_INTERVAL) { + // + // TimeoutTick unit is ms, MNP_TIMEOUT_CHECK_INTERVAL unit is 100ns. + // + if (RxDataWrap->TimeoutTick >= (MNP_TIMEOUT_CHECK_INTERVAL / 10)) { - RxDataWrap->TimeoutTick -= MNP_TIMEOUT_CHECK_INTERVAL; + RxDataWrap->TimeoutTick -= (MNP_TIMEOUT_CHECK_INTERVAL / 10); } else { // // Drop the timeout packet. diff --git a/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c b/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c index 4c7a6fdc33..bda2b36c31 100644 --- a/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c +++ b/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c @@ -451,13 +451,16 @@ Udp4CheckTimeout ( // Wrap = NET_LIST_USER_STRUCT (WrapEntry, UDP4_RXDATA_WRAP, Link); - if (Wrap->TimeoutTick <= UDP4_TIMEOUT_INTERVAL / 10) { + // + // TimeoutTick unit is ms, MNP_TIMEOUT_CHECK_INTERVAL unit is 100ns. + // + if (Wrap->TimeoutTick <= (UDP4_TIMEOUT_INTERVAL / 10)) { // // Remove this RxData if it timeouts. // Udp4RecycleRxDataWrap (NULL, (VOID *) Wrap); } else { - Wrap->TimeoutTick -= UDP4_TIMEOUT_INTERVAL / 10; + Wrap->TimeoutTick -= (UDP4_TIMEOUT_INTERVAL / 10); } } } diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c index 845b7c0fd6..218ec43571 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c @@ -318,7 +318,7 @@ PxeBcDriverBindingStart ( goto ON_ERROR; } ZeroMem (&Private->Udp4CfgData, sizeof (EFI_UDP4_CONFIG_DATA)); - Private->Udp4CfgData.AcceptBroadcast = FALSE; + Private->Udp4CfgData.AcceptBroadcast = TRUE; Private->Udp4CfgData.AcceptPromiscuous = FALSE; Private->Udp4CfgData.AcceptAnyPort = TRUE; Private->Udp4CfgData.AllowDuplicatePort = TRUE;