According to the UEFI specification section 3.4.1 and 3.4.2, the OsRecovery and 
PlatformRecovery options should still be processed regardless of the value of 
OsIndications variable if processing of BootOrder does not result in success. 
Therefore, update the code to check PcdPlatformRecoverySupport instead of the 
value of OsIndications variable (PlatformRecovery).

Cc: Ray Ni <ray...@intel.com>
Cc: Zhichao Gao <zhichao....@intel.com>
Cc: Walon Li <walon...@hpe.com>
Signed-off-by: Sunny Wang <sunnyw...@hpe.com>
---
 MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c 
b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c
index d6ec31118c..d387dbe7ac 100644
--- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c
+++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c
@@ -6,7 +6,7 @@
   to enter BDS phase.
 
 Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
-(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
+(C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR>
 (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -1069,7 +1069,7 @@ BdsEntry (
   }
 
   if (!BootSuccess) {
-    if (PlatformRecovery) {
+    if (PcdGetBool (PcdPlatformRecoverySupport)) {
       LoadOptions = EfiBootManagerGetLoadOptions (&LoadOptionCount, 
LoadOptionTypePlatformRecovery);
       ProcessLoadOptions (LoadOptions, LoadOptionCount);
       EfiBootManagerFreeLoadOptions (LoadOptions, LoadOptionCount);
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#49061): https://edk2.groups.io/g/devel/message/49061
Mute This Topic: https://groups.io/mt/34557852/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to