Author: cgutman
Date: Tue Jan 31 18:26:03 2012
New Revision: 55355
URL: http://svn.reactos.org/svn/reactos?rev=55355&view=rev
Log:
[NTOSKRNL]
- Don't check for the correct parent in IopActionInitChildServices
- This function is also used to load drivers later for devices enumerated early in boot (before we have access to the disk) and we want it to run for all devices on the system, not just those that are immediate children of the root node
- Fixes broken PnP in 3rd stage
Modified:
branches/usb-bringup-trunk/ntoskrnl/io/pnpmgr/pnpmgr.c
Modified: branches/usb-bringup-trunk/ntoskrnl/io/pnpmgr/pnpmgr.c
URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/ntoskrnl/io/p…
==============================================================================
--- branches/usb-bringup-trunk/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] (original)
+++ branches/usb-bringup-trunk/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] Tue Jan 31 18:26:03 2012
@@ -2534,15 +2534,11 @@
}
/*
- * Make sure this device node is a direct child of the parent device node
- * that is given as an argument
+ * We don't want to check for a direct child because
+ * this function is called during boot to reinitialize
+ * devices with drivers that couldn't load yet due to
+ * stage 0 limitations (ie can't load from disk yet).
*/
-
- if (DeviceNode->Parent != ParentDeviceNode)
- {
- DPRINT("Skipping 2+ level child\n");
- return STATUS_SUCCESS;
- }
if (!(DeviceNode->Flags & DNF_PROCESSED))
{