https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b7042928089b360663f310a6a7aa0a2c0eb0326d
commit b7042928089b360663f310a6a7aa0a2c0eb0326d Author: Victor Perevertkin <[email protected]> AuthorDate: Wed Jan 13 04:13:22 2021 +0300 Commit: Victor Perevertkin <[email protected]> CommitDate: Wed Jan 27 05:15:15 2021 +0300 [NTOS:IO] Add more enumeration requests during the boot process This is to ensure that all needed devices are initialized during the early boot CORE-7826 --- ntoskrnl/io/iomgr/driver.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ntoskrnl/io/iomgr/driver.c b/ntoskrnl/io/iomgr/driver.c index 1e02c1cc213..45ce4a49827 100644 --- a/ntoskrnl/io/iomgr/driver.c +++ b/ntoskrnl/io/iomgr/driver.c @@ -1047,6 +1047,13 @@ IopInitializeBootDrivers(VOID) * See PiQueueDeviceAction function */ PnPBootDriversLoaded = TRUE; + + DbgPrint("BOOT DRIVERS LOADED\n"); + + PiQueueDeviceAction(IopRootDeviceNode->PhysicalDeviceObject, + PiActionEnumDeviceTree, + NULL, + NULL); } CODE_SEG("INIT") @@ -1056,6 +1063,8 @@ IopInitializeSystemDrivers(VOID) { PUNICODE_STRING *DriverList, *SavedList; + PiPerformSyncDeviceAction(IopRootDeviceNode->PhysicalDeviceObject, PiActionEnumDeviceTree); + /* No system drivers on the boot cd */ if (KeLoaderBlock->SetupLdrBlock) return; // ExpInTextModeSetup @@ -1080,6 +1089,11 @@ IopInitializeSystemDrivers(VOID) /* Free the list */ ExFreePool(SavedList); + + PiQueueDeviceAction(IopRootDeviceNode->PhysicalDeviceObject, + PiActionEnumDeviceTree, + NULL, + NULL); } /*
