Walon: This change looks good. Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>
Thanks Liming > -----邮件原件----- > 发件人: Li, Walon <walon...@hpe.com> > 发送时间: 2022年7月18日 9:15 > 收件人: devel@edk2.groups.io; gaolim...@byosoft.com.cn > 抄送: Wang, Nickle (Server BIOS) <nickle.w...@hpe.com>; Li, Walon > <walon...@hpe.com> > 主题: RE: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to > reconnect driver > > Hi edk2 and Liming, > > Who can help to review this change? Thanks. > > -----Original Message----- > From: Li, Walon <walon...@hpe.com> > Sent: Friday, June 24, 2022 2:08 PM > To: devel@edk2.groups.io > Cc: Li, Walon <walon...@hpe.com>; Wang, Nickle (Server BIOS) > <nickle.w...@hpe.com>; gaolim...@byosoft.com.cn > Subject: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to > reconnect driver > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3952 > > In UEFI spec, it defines reconnect timing that will be activated upon exiting of > the formset or the browser. However, we did't use this kind of way to check > reconnect conditioncode. Code only blocks reconnect if page is updated > dynamically. That's not matched spec'd way. We should check current formset > whether is exiting, then reconnect driver. > > Signed-off-by: Walon Li <walon...@hpe.com> > --- > MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c | 4 +--- > MdeModulePkg/Universal/SetupBrowserDxe/Setup.c | 9 +++------ > 2 files changed, 4 insertions(+), 9 deletions(-) > > 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.<BR>-(C) Copyright 2015 Hewlett Packard > Enterprise Development LP<BR>+(C) Copyright 2015 - 2022 Hewlett Packard > Enterprise Development LP<BR> 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.<BR>-(C) Copyright 2020 Hewlett > Packard Enterprise Development LP<BR>+(C) Copyright 2020 - 2022 Hewlett > Packard Enterprise Development LP<BR> 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);-- > 2.23.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91511): https://edk2.groups.io/g/devel/message/91511 Mute This Topic: https://groups.io/mt/92474394/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-