The device manager UI library creates a UiApp submenu that contains a list of network devices in the system. The logic that creates this menu assumes that all handles have been connected to their drivers, but this is not guaranteed in the general case.
So work around this by doing an explicit ConnectAll() before populating the pages. Cc: Zhichao Gao <zhichao....@intel.com> Cc: Ray Ni <ray...@intel.com> Cc: Jian J Wang <jian.j.w...@intel.com> Cc: Hao A Wu <hao.a...@intel.com> Cc: Dandan Bi <dandan...@intel.com> Signed-off-by: Ard Biesheuvel <ard.biesheu...@arm.com> --- MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c | 7 +++++++ MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h | 1 + MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf | 1 + 3 files changed, 9 insertions(+) diff --git a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c index 0540e6fa8a44..3bc13d340775 100644 --- a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c +++ b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c @@ -892,6 +892,13 @@ DeviceManagerUiLibConstructor ( ); ASSERT (gDeviceManagerPrivate.HiiHandle != NULL); + // + // The device manager form contains a page listing all the network + // controllers in the system. This list can only be populated if all + // handles have been connected, so do it here. + // + EfiBootManagerConnectAll (); + // // Update boot manager page // diff --git a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h index 22fe12d2a5e8..c53c2a1a0e1a 100644 --- a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h +++ b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h @@ -23,6 +23,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include <Library/BaseLib.h> #include <Library/HiiLib.h> #include <Library/DevicePathLib.h> +#include <Library/UefiBootManagerLib.h> #include <Library/UefiHiiServicesLib.h> // diff --git a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf index cb01b3b85180..d7f833d8b23a 100644 --- a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf +++ b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf @@ -40,6 +40,7 @@ [LibraryClasses] DebugLib PrintLib HiiLib + UefiBootManagerLib UefiHiiServicesLib [Guids] -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#57075): https://edk2.groups.io/g/devel/message/57075 Mute This Topic: https://groups.io/mt/72879609/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-