diff options
author | Ard Biesheuvel <ard.biesheuvel@arm.com> | 2020-04-08 19:23:27 +0200 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2020-04-30 07:51:10 +0000 |
commit | 13406bdeb5c5bea7f5cee6b3c0dfaff253579710 (patch) | |
tree | 4c79519bcd9fc48ba18cf40523f69549960a72ac /MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h | |
parent | f07fb43b2d3f92a15d6992205b72ba5df0e74fe2 (diff) | |
download | edk2-13406bdeb5c5bea7f5cee6b3c0dfaff253579710.zip edk2-13406bdeb5c5bea7f5cee6b3c0dfaff253579710.tar.gz edk2-13406bdeb5c5bea7f5cee6b3c0dfaff253579710.tar.bz2 |
MdeModulePkg/DeviceManagerUiLib: connect all before creating menu page
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: due to the way UiApp is constructed,
this logic runs before the UiApp entrypoint is invoked, which is where
ConnectAll() is normally called to ensure that all existing controllers
are connected to their drivers. Moving this call into DeviceManagerUiLib
is not an option, since it is incorporated into UiApp via NULL library
class resolution, and so it may not be included to begin with.
So work around this by doing an explicit additional ConnectAll() before
populating the pages.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Link: https://edk2.groups.io/g/devel/topic/72879609#57075
Reviewed-by: Dandan Bi <dandan.bi@intel.com>
Diffstat (limited to 'MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h')
-rw-r--r-- | MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.h index 22fe12d..c53c2a1 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>
//
|