summaryrefslogtreecommitdiff
path: root/EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c
diff options
context:
space:
mode:
Diffstat (limited to 'EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c')
-rw-r--r--EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c b/EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c
index 0e73a4e3fe..3f648b7de6 100644
--- a/EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c
+++ b/EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c
@@ -197,6 +197,7 @@ Returns:
UINTN VideoOptionSize;
EFI_HII_HANDLE *HiiHandles;
UINT16 HandleBufferLength;
+ BOOLEAN BootDeviceMngrMenuResetRequired;
IfrOptionList = NULL;
VideoOption = NULL;
@@ -435,6 +436,7 @@ Returns:
gBS->FreePool (IfrOptionList);
}
+ BootDeviceMngrMenuResetRequired = FALSE;
Status = gBrowser->SendForm (
gBrowser,
TRUE, // Use the database
@@ -444,9 +446,13 @@ Returns:
FPCallbackInfo.CallbackHandle,
(UINT8 *) &FPCallbackInfo.Data,
NULL,
- NULL
+ &BootDeviceMngrMenuResetRequired
);
+ if (BootDeviceMngrMenuResetRequired) {
+ EnableResetRequired ();
+ }
+
Hii->ResetStrings (Hii, FPCallbackInfo.DevMgrHiiHandle);
//
@@ -454,6 +460,7 @@ Returns:
// a target to display
//
if (gCallbackKey != 0 && gCallbackKey < 0x2000) {
+ BootDeviceMngrMenuResetRequired = FALSE;
Status = gBrowser->SendForm (
gBrowser,
TRUE, // Use the database
@@ -463,9 +470,12 @@ Returns:
NULL, // This is the handle that the interface to the callback was installed on
NULL,
NULL,
- NULL
+ &BootDeviceMngrMenuResetRequired
);
+ if (BootDeviceMngrMenuResetRequired) {
+ EnableResetRequired ();
+ }
//
// Force return to Device Manager
//