summaryrefslogtreecommitdiff
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
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
-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);
}