summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Library
diff options
context:
space:
mode:
authorDandan Bi <dandan.bi@intel.com>2019-04-23 14:23:15 +0800
committerLiming Gao <liming.gao@intel.com>2019-04-28 09:32:42 +0800
commit5a4f3a3453e7689256058eada880791c3d8171f5 (patch)
tree5fcc90b3308aa6257d6a0a35407c08517e753bed /MdeModulePkg/Library
parent00d2aef80c9ac866681a737ee0af60e9edccba11 (diff)
downloadedk2-5a4f3a3453e7689256058eada880791c3d8171f5.tar.gz
edk2-5a4f3a3453e7689256058eada880791c3d8171f5.tar.bz2
edk2-5a4f3a3453e7689256058eada880791c3d8171f5.zip
MdeModulePkg/FileExplorer: Set Handle to NULL after uninstall protocol
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1728 Currently Emulator meets ASSERT when enter setup->Continue->enter setup. When re-enter setup, the FeDriverHandle in FileExplorerLib Constructor is not NULL which cause InstallMultipleProtocolInterfaces failure, then ASSERT. So here set FeDriverHandle to NULL after uninstalling protocols on it in the Destructor function to avoid this issue. Cc: Liming Gao <liming.gao@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Hao Wu <hao.a.wu@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
Diffstat (limited to 'MdeModulePkg/Library')
-rw-r--r--MdeModulePkg/Library/FileExplorerLib/FileExplorer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c b/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c
index 27f12fcbf9..58e4910259 100644
--- a/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c
+++ b/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c
@@ -1,7 +1,7 @@
/** @file
File explorer related functions.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -1643,6 +1643,7 @@ FileExplorerLibDestructor (
ASSERT_EFI_ERROR (Status);
HiiRemovePackages (gFileExplorerPrivate.FeHiiHandle);
+ gFileExplorerPrivate.FeDriverHandle = NULL;
}
FreePool (gHiiVendorDevicePath);