diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c index 9587b08d6d..babef21497 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c @@ -2,7 +2,7 @@ Utility functions for UI presentation. Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
-(C) Copyright 2015 Hewlett Packard Enterprise Development LP
+(C) Copyright 2015 - 2022 Hewlett Packard Enterprise Development LP
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -21,7 +21,6 @@ LIST_ENTRY mRefreshEventList = INITIALIZE_LIST_HEAD_VARIABLE (mR UINT16 mCurFakeQestId; FORM_DISPLAY_ENGINE_FORM gDisplayFormData; BOOLEAN mFinishRetrieveCall = FALSE; -BOOLEAN mDynamicFormUpdated = FALSE; /** Check whether the ConfigAccess protocol is available. @@ -1791,7 +1790,6 @@ FormUpdateNotify ( ) { mHiiPackageListUpdated = TRUE; - mDynamicFormUpdated = TRUE; return EFI_SUCCESS; } diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c index fe0d46d93f..5158baf5bd 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c @@ -2,7 +2,7 @@ Entry and initialization module for the browser. Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
-(C) Copyright 2020 Hewlett Packard Enterprise Development LP
+(C) Copyright 2020 - 2022 Hewlett Packard Enterprise Development LP
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -68,7 +68,6 @@ extern EFI_GUID mCurrentFormSetGuid; extern EFI_HII_HANDLE mCurrentHiiHandle; extern UINT16 mCurrentFormId; extern FORM_DISPLAY_ENGINE_FORM gDisplayFormData; -extern BOOLEAN mDynamicFormUpdated; /** Create a menu with specified formset GUID and form ID, and add it as a child @@ -539,7 +538,6 @@ SendForm ( Selection->FormSet = FormSet; mSystemLevelFormSet = FormSet; - mDynamicFormUpdated = FALSE; // // Display this formset @@ -552,10 +550,9 @@ SendForm ( mSystemLevelFormSet = NULL; // - // If callback update form dynamically, it's not exiting of the formset for user so system do not reconnect driver hanlde - // this time. + // Check incoming formset whether is same with previous. If yes, that means action is not exiting of formset so do not reconnect controller. // - if (!mDynamicFormUpdated && (gFlagReconnect || gCallbackReconnect)) { + if ((gFlagReconnect || gCallbackReconnect) && !CompareGuid (&FormSet->Guid, &Selection->FormSetGuid)) { RetVal = ReconnectController (FormSet->DriverHandle); if (!RetVal) { PopupErrorMessage (BROWSER_RECONNECT_FAIL, NULL, NULL, NULL);