* [PATCH] MdeModulePkg:Platform exception when callback function was destroyed by unconnected controller in setup browser
@ 2019-06-18 3:28 GregX Yeh
0 siblings, 0 replies; only message in thread
From: GregX Yeh @ 2019-06-18 3:28 UTC (permalink / raw)
To: devel; +Cc: Dandan Bi, Ray Ni, Ted Kuo
https://bugzilla.tianocore.org/show_bug.cgi?id=1920
Check ConfigAccess available before call callback function.
Signed-off-by: GregX Yeh <gregx.yeh@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Ted Kuo <ted.kuo@intel.com>
---
MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
index d7927725b2..a613ab350c 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
@@ -1958,6 +1958,23 @@ ProcessCallBackFunction (
if (ConfigAccess == NULL) {
return EFI_SUCCESS;
}
+//
+// Check ConfigAccess available.
+//
+ Status = gBS->HandleProtocol (
+ FormSet->DriverHandle,
+ &gEfiHiiConfigAccessProtocolGuid,
+ (VOID **) &FormSet->ConfigAccess
+ );
+ if (EFI_ERROR (Status)) {
+ //
+ // Configuration Driver don't attach ConfigAccess protocol to its HII package
+ // list, then there will be no configuration action required.
+ // Or the ConfigAccess protocol has been uninstalled.
+ //
+ FormSet->ConfigAccess = NULL;
+ return EFI_SUCCESS;
+ }
Link = GetFirstNode (&Form->StatementListHead);
while (!IsNull (&Form->StatementListHead, Link)) {
--
2.16.2.windows.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2019-06-18 3:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-18 3:28 [PATCH] MdeModulePkg:Platform exception when callback function was destroyed by unconnected controller in setup browser GregX Yeh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox