[edk2-devel] [PATCH 1/1] MdeModulePkg/BdsDxe: Fix calling PlatformBootManagerWaitCallback on 0
Pete Batard
pete at akeo.ie
Fri Oct 11 15:43:37 UTC 2019
From: Laszlo Ersek <lersek at redhat.com>
Commit 2de1f611be06ded3a59726a4052a9039be7d459b introduced a regression
whereas platforms that did set PcdPlatformBootTimeOut to 0 are now getting
an unexpected call to PlatformBootManagerWaitCallback().
This patch also ensures that, if PcdPlatformBootTimeOut is 0xFFFF we don't
call PlatformBootManagerWaitCallback() with a zero argument as doing so
would produce an unwarranted jump to full progress completion which is
likely to throw off users.
Signed-off-by: Pete Batard <pete at akeo.ie>
---
MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c
index 7968a58f3454..d6ec31118c1f 100644
--- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c
+++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c
@@ -341,7 +341,17 @@ BdsWait (
TimeoutRemain--;
}
}
- PlatformBootManagerWaitCallback (0);
+
+ //
+ // If the platform configured a nonzero and finite time-out, and we have
+ // actually reached that, report 100% completion to the platform.
+ //
+ // Note that the (TimeoutRemain == 0) condition excludes
+ // PcdPlatformBootTimeOut=0xFFFF, and that's deliberate.
+ //
+ if (PcdGet16 (PcdPlatformBootTimeOut) != 0 && TimeoutRemain == 0) {
+ PlatformBootManagerWaitCallback (0);
+ }
DEBUG ((EFI_D_INFO, "[Bds]Exit the waiting!\n"));
}
--
2.21.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#48842): https://edk2.groups.io/g/devel/message/48842
Mute This Topic: https://groups.io/mt/34494978/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list