diff options
Diffstat (limited to 'EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c')
-rw-r--r-- | EdkNt32Pkg/Dxe/PlatformBds/Generic/DeviceMngr/DeviceManager.c | 14 |
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
//
|