* [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver @ 2022-06-24 6:07 Li, Walon 2022-07-18 1:14 ` Li, Walon 0 siblings, 1 reply; 6+ messages in thread From: Li, Walon @ 2022-06-24 6:07 UTC (permalink / raw) To: devel; +Cc: walon.li, nickle.wang, gaoliming 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.li@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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver 2022-06-24 6:07 [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver Li, Walon @ 2022-07-18 1:14 ` Li, Walon 2022-07-19 1:34 ` 回复: " gaoliming 0 siblings, 1 reply; 6+ messages in thread From: Li, Walon @ 2022-07-18 1:14 UTC (permalink / raw) To: devel@edk2.groups.io, gaoliming@byosoft.com.cn Cc: Wang, Nickle (Server BIOS), Li, Walon Hi edk2 and Liming, Who can help to review this change? Thanks. -----Original Message----- From: Li, Walon <walon.li@hpe.com> Sent: Friday, June 24, 2022 2:08 PM To: devel@edk2.groups.io Cc: Li, Walon <walon.li@hpe.com>; Wang, Nickle (Server BIOS) <nickle.wang@hpe.com>; gaoliming@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.li@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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* 回复: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver 2022-07-18 1:14 ` Li, Walon @ 2022-07-19 1:34 ` gaoliming 2022-08-22 6:22 ` Li, Walon 0 siblings, 1 reply; 6+ messages in thread From: gaoliming @ 2022-07-19 1:34 UTC (permalink / raw) To: 'Li, Walon', devel; +Cc: 'Wang, Nickle (Server BIOS)' Walon: This change looks good. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Thanks Liming > -----邮件原件----- > 发件人: Li, Walon <walon.li@hpe.com> > 发送时间: 2022年7月18日 9:15 > 收件人: devel@edk2.groups.io; gaoliming@byosoft.com.cn > 抄送: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com>; Li, Walon > <walon.li@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.li@hpe.com> > Sent: Friday, June 24, 2022 2:08 PM > To: devel@edk2.groups.io > Cc: Li, Walon <walon.li@hpe.com>; Wang, Nickle (Server BIOS) > <nickle.wang@hpe.com>; gaoliming@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.li@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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver 2022-07-19 1:34 ` 回复: " gaoliming @ 2022-08-22 6:22 ` Li, Walon 2022-08-23 1:56 ` 回复: [edk2-devel] " gaoliming 0 siblings, 1 reply; 6+ messages in thread From: Li, Walon @ 2022-08-22 6:22 UTC (permalink / raw) To: gaoliming, devel@edk2.groups.io; +Cc: Wang, Nickle (Server BIOS) Liming, This change is pending for a long time. If anything I can speed this up, please let me know. Thanks, Walon -----Original Message----- From: gaoliming <gaoliming@byosoft.com.cn> Sent: Tuesday, July 19, 2022 9:35 AM To: Li, Walon <walon.li@hpe.com>; devel@edk2.groups.io Cc: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com> Subject: 回复: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver Walon: This change looks good. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Thanks Liming > -----邮件原件----- > 发件人: Li, Walon <walon.li@hpe.com> > 发送时间: 2022年7月18日 9:15 > 收件人: devel@edk2.groups.io; gaoliming@byosoft.com.cn > 抄送: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com>; Li, Walon > <walon.li@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.li@hpe.com> > Sent: Friday, June 24, 2022 2:08 PM > To: devel@edk2.groups.io > Cc: Li, Walon <walon.li@hpe.com>; Wang, Nickle (Server BIOS) > <nickle.wang@hpe.com>; gaoliming@byosoft.com.cn > Subject: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to > reconnect driver > > REF:INVALID URI REMOVED > g.cgi?id=3952__;!!NpxR!hRnrt79sJyc1xTc1OcqqPsjAumIQpguEjpIWG32JnucwRj- > 4yW6hNAzbkMzBeJw77oFwrnjNZZaZCaX7wBY$ > > 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.li@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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* 回复: [edk2-devel] [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver 2022-08-22 6:22 ` Li, Walon @ 2022-08-23 1:56 ` gaoliming 2022-08-23 2:01 ` Li, Walon 0 siblings, 1 reply; 6+ messages in thread From: gaoliming @ 2022-08-23 1:56 UTC (permalink / raw) To: devel, walon.li; +Cc: 'Wang, Nickle (Server BIOS)' Walon: Sorry, I miss the patch. Now, we are in the hard feature freeze phase for stable tag 202208. I will merge it after the stable tag is created on this Friday. Is it OK? Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Li, Walon > 发送时间: 2022年8月22日 14:22 > 收件人: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io > 抄送: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com> > 主题: Re: [edk2-devel] [PATCH] MdeModulePkg/SetupBrowserDxe:Follow > spec'd way to reconnect driver > > Liming, > > This change is pending for a long time. If anything I can speed this up, please > let me know. > > Thanks, > Walon > > -----Original Message----- > From: gaoliming <gaoliming@byosoft.com.cn> > Sent: Tuesday, July 19, 2022 9:35 AM > To: Li, Walon <walon.li@hpe.com>; devel@edk2.groups.io > Cc: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com> > Subject: 回复: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way > to reconnect driver > > Walon: > This change looks good. Reviewed-by: Liming Gao > <gaoliming@byosoft.com.cn> > > Thanks > Liming > > -----邮件原件----- > > 发件人: Li, Walon <walon.li@hpe.com> > > 发送时间: 2022年7月18日 9:15 > > 收件人: devel@edk2.groups.io; gaoliming@byosoft.com.cn > > 抄送: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com>; Li, Walon > > <walon.li@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.li@hpe.com> > > Sent: Friday, June 24, 2022 2:08 PM > > To: devel@edk2.groups.io > > Cc: Li, Walon <walon.li@hpe.com>; Wang, Nickle (Server BIOS) > > <nickle.wang@hpe.com>; gaoliming@byosoft.com.cn > > Subject: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to > > reconnect driver > > > > REF:INVALID URI REMOVED > > > g.cgi?id=3952__;!!NpxR!hRnrt79sJyc1xTc1OcqqPsjAumIQpguEjpIWG32Jnucw > Rj- > > 4yW6hNAzbkMzBeJw77oFwrnjNZZaZCaX7wBY$ > > > > 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.li@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 > > > > > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [edk2-devel] [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver 2022-08-23 1:56 ` 回复: [edk2-devel] " gaoliming @ 2022-08-23 2:01 ` Li, Walon 0 siblings, 0 replies; 6+ messages in thread From: Li, Walon @ 2022-08-23 2:01 UTC (permalink / raw) To: gaoliming, devel@edk2.groups.io; +Cc: Wang, Nickle (Server BIOS) No problem. Thanks. -----Original Message----- From: gaoliming <gaoliming@byosoft.com.cn> Sent: Tuesday, August 23, 2022 9:57 AM To: devel@edk2.groups.io; Li, Walon <walon.li@hpe.com> Cc: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com> Subject: 回复: [edk2-devel] [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver Walon: Sorry, I miss the patch. Now, we are in the hard feature freeze phase for stable tag 202208. I will merge it after the stable tag is created on this Friday. Is it OK? Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Li, Walon > 发送时间: 2022年8月22日 14:22 > 收件人: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io > 抄送: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com> > 主题: Re: [edk2-devel] [PATCH] MdeModulePkg/SetupBrowserDxe:Follow > spec'd way to reconnect driver > > Liming, > > This change is pending for a long time. If anything I can speed this > up, please let me know. > > Thanks, > Walon > > -----Original Message----- > From: gaoliming <gaoliming@byosoft.com.cn> > Sent: Tuesday, July 19, 2022 9:35 AM > To: Li, Walon <walon.li@hpe.com>; devel@edk2.groups.io > Cc: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com> > Subject: 回复: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to > reconnect driver > > Walon: > This change looks good. Reviewed-by: Liming Gao > <gaoliming@byosoft.com.cn> > > Thanks > Liming > > -----邮件原件----- > > 发件人: Li, Walon <walon.li@hpe.com> > > 发送时间: 2022年7月18日 9:15 > > 收件人: devel@edk2.groups.io; gaoliming@byosoft.com.cn > > 抄送: Wang, Nickle (Server BIOS) <nickle.wang@hpe.com>; Li, Walon > > <walon.li@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.li@hpe.com> > > Sent: Friday, June 24, 2022 2:08 PM > > To: devel@edk2.groups.io > > Cc: Li, Walon <walon.li@hpe.com>; Wang, Nickle (Server BIOS) > > <nickle.wang@hpe.com>; gaoliming@byosoft.com.cn > > Subject: [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to > > reconnect driver > > > > REF:INVALID URI REMOVED > > > g.cgi?id=3952__;!!NpxR!hRnrt79sJyc1xTc1OcqqPsjAumIQpguEjpIWG32Jnucw > Rj- > > 4yW6hNAzbkMzBeJw77oFwrnjNZZaZCaX7wBY$ > > > > 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.li@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 > > > > > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-08-23 2:01 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-06-24 6:07 [PATCH] MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver Li, Walon 2022-07-18 1:14 ` Li, Walon 2022-07-19 1:34 ` 回复: " gaoliming 2022-08-22 6:22 ` Li, Walon 2022-08-23 1:56 ` 回复: [edk2-devel] " gaoliming 2022-08-23 2:01 ` Li, Walon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox