May I know the schedule of pushing this change to edk2-master? Or what's next step I should do?
Thanks, Walon -----Original Message----- From: Bi, Dandan [mailto:dandan...@intel.com] Sent: Sunday, May 24, 2020 3:17 PM To: Li, Walon <walon...@hpe.com>; devel@edk2.groups.io Cc: Wang, Nickle (HPS SW) <nickle.w...@hpe.com>; Chang, Abner (HPS SW/FW Technologist) <abner.ch...@hpe.com>; Wang, Sunny (HPS SW) <sunnyw...@hpe.com> Subject: RE: [PATCH] MdeModulePkg/SetupBrowserDxe: Do not reconnect driver with form-update Reviewed-by: Dandan Bi <dandan...@intel.com> Thanks, Dandan > -----Original Message----- > From: Walon Li <walon...@hpe.com> > Sent: Wednesday, May 20, 2020 12:25 PM > To: devel@edk2.groups.io > Cc: walon...@hpe.com; Bi, Dandan <dandan...@intel.com>; > nickle.w...@hpe.com; abner.ch...@hpe.com; sunnyw...@hpe.com > Subject: [PATCH] MdeModulePkg/SetupBrowserDxe: Do not reconnect driver > with form-update > > REF:INVALID URI REMOVED > ocore.org_show-5Fbug.cgi-3Fid-3D2701&d=DwIFAg&c=C5b8zRQO1miGmBeVZ2LFWg > &r=nGx4G_nX3rQG_ai3uSb52w&m=j34dsoHyXFEvnpFmkT_iUSnMAF1kWbmBFnMbHVJkJx > U&s=V7D879dizWzD8-fTk-wXmw5sypK5jfdtjWAENVbXntQ&e= > > Recording to the spec, the reconnect is activated upon exiting of the > formset or the browser. Exiting is by user but form-browser internal > logic. That means the reconnection is only happened when user press > ESC or _EXIT action to exit form. > Driver callback may update HII form dynamically so form-browser needs > to refresh its internal data. It's not exiting formset for user > exactly and they didn't know what happened. So use a flag to record > that and do not reconnect driver if updated by callback. > > Signed-off-by: Walon Li <walon...@hpe.com> > --- > MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c | 2 ++ > MdeModulePkg/Universal/SetupBrowserDxe/Setup.c | 8 +++++++- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > index bafee4c612..7f85873730 100644 > --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > @@ -19,6 +19,7 @@ LIST_ENTRY mRefreshEventList = > INITIALIZE_LIST_HEAD_VARIABLE (mRefreshEv > UINT16 mCurFakeQestId; FORM_DISPLAY_ENGINE_FORM > gDisplayFormData; BOOLEAN mFinishRetrieveCall = FALSE;+BOOLEAN > mDynamicFormUpdated = FALSE; /** Check whether the ConfigAccess > protocol is available.@@ -1762,6 +1763,7 @@ FormUpdateNotify ( > ) { mHiiPackageListUpdated = TRUE;+ mDynamicFormUpdated = TRUE; > return EFI_SUCCESS; }diff --git > a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > index 82067b541c..f936a4b8e8 100644 > --- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > @@ -68,6 +68,7 @@ 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@@ -536,6 +537,7 @@ SendForm ( > } Selection->FormSet = FormSet; mSystemLevelFormSet = > FormSet;+ mDynamicFormUpdated = FALSE; // // Display this > formset@@ -547,7 +549,11 @@ SendForm ( > gCurrentSelection = NULL; mSystemLevelFormSet = NULL; - if > (gFlagReconnect || gCallbackReconnect) {+ //+ // If callback update > form dynamically, it's not exiting of the formset for user so system do not > reconnect driver hanlde+ // this time.+ //+ if > (!mDynamicFormUpdated && (gFlagReconnect || gCallbackReconnect)) > { 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 (#60658): https://edk2.groups.io/g/devel/message/60658 Mute This Topic: https://groups.io/mt/74345701/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-