From 48bd50c5a1e4c31818bba1d2ce88f9270b2f2440 Mon Sep 17 00:00:00 2001 From: vanjeff Date: Mon, 1 Dec 2008 01:59:45 +0000 Subject: 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 --- MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c | 7 +++++-- MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c | 7 +++++-- MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) (limited to 'MdeModulePkg') 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; -- cgit v1.2.3