[ros-diffs] [cgutman] 56206: [NTOSKRNL] - Once again require a reboot for driver replacement since this seems to cause new issues with devices being enumerated multiple times on vmware

cgutman at svn.reactos.org cgutman at svn.reactos.org
Wed Mar 21 15:19:42 UTC 2012


Author: cgutman
Date: Wed Mar 21 15:19:42 2012
New Revision: 56206

URL: http://svn.reactos.org/svn/reactos?rev=56206&view=rev
Log:
[NTOSKRNL]
- Once again require a reboot for driver replacement since this seems to cause new issues with devices being enumerated multiple times on vmware

Modified:
    trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c

Modified: trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c?rev=56206&r1=56205&r2=56206&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c [iso-8859-1] Wed Mar 21 15:19:42 2012
@@ -597,15 +597,17 @@
     /* Check if there's already a driver loaded for this device */
     if (DeviceNode->Flags & DNF_ADDED)
     {
+#if 0
         /* Remove the device node */
         Status = IopRemoveDevice(DeviceNode);
         if (NT_SUCCESS(Status))
         {
             /* Invalidate device relations for the parent to reenumerate the device */
+            DPRINT1("A new driver will be loaded for '%wZ' (FDO above removed)\n", &DeviceNode->InstancePath);
             Status = IoSynchronousInvalidateDeviceRelations(DeviceNode->Parent->PhysicalDeviceObject, BusRelations);
-            DPRINT1("A new driver has been loaded for '%wZ' (FDO above removed)\n", &DeviceNode->InstancePath);
         }
         else
+#endif
         {
             /* A driver has already been loaded for this device */
             DPRINT1("A reboot is required for the current driver for '%wZ' to be replaced\n", &DeviceNode->InstancePath);
@@ -623,8 +625,8 @@
         if (NT_SUCCESS(Status))
         {
             /* Start the service and begin PnP initialization of the device again */
+            DPRINT1("A new driver will be loaded for '%wZ' (no FDO above)\n", &DeviceNode->InstancePath);
             Status = IopActionInitChildServices(DeviceNode, DeviceNode->Parent);
-            DPRINT1("A new driver will be loaded for '%wZ' (no FDO above)\n", &DeviceNode->InstancePath);
         }
     }
 




More information about the Ros-diffs mailing list