From: vanjeff Date: Mon, 1 Dec 2008 01:59:45 +0000 (+0000) Subject: 1. Fixed issue when calculating timeout value in timeout function in MNP module. X-Git-Tag: edk2-stable201903~19464 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=48bd50c5a1e4c31818bba1d2ce88f9270b2f2440;hp=0e4d589e915e9cbb5776eb712a957b14e1f86bc4 1. Fixed issue when calculating timeout value in timeout function in MNP module. 2. Added and refine some comments. 3. Enable UefiPxeBc Module to accept all broadcast packets for UDP Read&Write interface. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6781 6f19259b-4bc3-4df7-8a09-765794883524 --- 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;