mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/UefiBootManagerLib: Remove assertion
EfiBootManagerStartHotkeyService() asserts when "BootOptionSupport" variable doesn't exist. In fact, though "BootOptionSupport" variable is set in BdsDxe module, it's possible that the variable is deleted by PlatformBootManagerBeforeConsole(). The patch removes the assertion and adds code to handle the case. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
parent
827330ccd1
commit
a0a03415d6
|
@ -870,13 +870,13 @@ EfiBootManagerStartHotkeyService (
|
|||
EFI_EVENT Event;
|
||||
UINT32 *BootOptionSupport;
|
||||
|
||||
Status = GetEfiGlobalVariable2 (EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, (VOID **) &BootOptionSupport, NULL);
|
||||
ASSERT (BootOptionSupport != NULL);
|
||||
|
||||
if ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_KEY) != 0) {
|
||||
mBmHotkeySupportCount = ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_COUNT) >> LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT));
|
||||
GetEfiGlobalVariable2 (EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, (VOID **) &BootOptionSupport, NULL);
|
||||
if (BootOptionSupport != NULL) {
|
||||
if ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_KEY) != 0) {
|
||||
mBmHotkeySupportCount = ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_COUNT) >> LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT));
|
||||
}
|
||||
FreePool (BootOptionSupport);
|
||||
}
|
||||
FreePool (BootOptionSupport);
|
||||
|
||||
if (mBmHotkeySupportCount == 0) {
|
||||
DEBUG ((EFI_D_INFO, "Bds: BootOptionSupport NV variable forbids starting the hotkey service.\n"));
|
||||
|
|
Loading…
Reference in New Issue