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/pnpmgr/pnpmgr.c?rev=55355&r1=55354&r2=55355&view=diff
==============================================================================
--- 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))
    {


Reply via email to