https://git.reactos.org/?p=reactos.git;a=commitdiff;h=162d614cc1684adec0c706...
commit 162d614cc1684adec0c7061610ca6560f06f9a0d Author: Victor Perevertkin victor.perevertkin@reactos.org AuthorDate: Fri Aug 21 08:53:33 2020 +0300 Commit: Victor Perevertkin victor.perevertkin@reactos.org CommitDate: Fri Aug 21 08:53:33 2020 +0300
[NTOS:IO] Queue device tree enumeration inside IoReportDetectedDevice Without that, a DeviceNode is not created for a reported device and thus it is not being attached to the device tree
CORE-17132 --- ntoskrnl/io/pnpmgr/pnpreport.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/ntoskrnl/io/pnpmgr/pnpreport.c b/ntoskrnl/io/pnpmgr/pnpreport.c index b16f70afdc4..cb60a133329 100644 --- a/ntoskrnl/io/pnpmgr/pnpreport.c +++ b/ntoskrnl/io/pnpmgr/pnpreport.c @@ -395,6 +395,8 @@ IoReportDetectedDevice(IN PDRIVER_OBJECT DriverObject,
DPRINT("Reported device: %S (%wZ)\n", HardwareId, &DeviceNode->InstancePath);
+ PiQueueDeviceAction(Pdo, PiActionEnumDeviceTree, NULL, NULL); + /* Return the PDO */ if (DeviceObject) *DeviceObject = Pdo;