summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-23 01:43:45 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-23 01:43:45 +0000
commit235eaa63dc1b09d2e3e98a81e72a8157cc80917b (patch)
tree6750be3bcd99e0d85859940e957bce645939983f /MdeModulePkg/Universal
parentc315da0a4ed6a70755eb82339d942d270389fcb1 (diff)
downloadedk2-platforms-235eaa63dc1b09d2e3e98a81e72a8157cc80917b.tar.xz
enhanced Dhcp4Dxe module to clean active configure data when Dhcp4->Stop() and Dhcp4->Release() called.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10043 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal')
-rw-r--r--MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.h17
-rw-r--r--MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c9
2 files changed, 22 insertions, 4 deletions
diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.h b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.h
index ed066ea833..0616c18062 100644
--- a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.h
+++ b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Impl.h
@@ -6,7 +6,7 @@
RFC 1534: Interoperation Between DHCP and BOOTP
RFC 3396: Encoding Long Options in DHCP.
-Copyright (c) 2006 - 2009, Intel Corporation.<BR>
+Copyright (c) 2006 - 2010, Intel Corporation.<BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -161,7 +161,7 @@ DhcpYieldControl (
/**
Complete a Dhcp4 transaction and signal the upper layer.
-
+
@param Instance Dhcp4 instance.
**/
@@ -170,4 +170,17 @@ PxeDhcpDone (
IN DHCP_PROTOCOL *Instance
);
+/**
+ Free the resource related to the configure parameters.
+ DHCP driver will make a copy of the user's configure
+ such as the time out value.
+
+ @param Config The DHCP configure data
+
+**/
+VOID
+DhcpCleanConfigure (
+ IN OUT EFI_DHCP4_CONFIG_DATA *Config
+ );
+
#endif
diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c
index 0a43b606e1..2af4888d5c 100644
--- a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c
+++ b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.c
@@ -1,7 +1,7 @@
/** @file
EFI DHCP protocol implementation.
-Copyright (c) 2006 - 2009, Intel Corporation.<BR>
+Copyright (c) 2006 - 2010, Intel Corporation.<BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -272,7 +272,7 @@ DhcpSetTransmitTimer (
@param DhcpSb The DHCP service instance
@param Para The DHCP parameter extracted from the server's
- response.
+ response.
**/
VOID
DhcpComputeLease (
@@ -482,6 +482,11 @@ DhcpCleanLease (
DhcpSb->CurRetry = 0;
DhcpSb->MaxRetries = 0;
DhcpSb->LeaseLife = 0;
+
+ //
+ // Clean active config data.
+ //
+ DhcpCleanConfigure (&DhcpSb->ActiveConfig);
}