From 235eaa63dc1b09d2e3e98a81e72a8157cc80917b Mon Sep 17 00:00:00 2001 From: vanjeff Date: Tue, 23 Feb 2010 01:43:45 +0000 Subject: [PATCH] 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 --- .../Universal/Network/Dhcp4Dxe/Dhcp4Impl.h | 17 +++++++++++++++-- .../Universal/Network/Dhcp4Dxe/Dhcp4Io.c | 9 +++++++-- 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.
+Copyright (c) 2006 - 2010, Intel Corporation.
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.
+Copyright (c) 2006 - 2010, Intel Corporation.
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); }