Author: hpoussin Date: Tue Jun 12 12:38:32 2007 New Revision: 27153
URL: http://svn.reactos.org/svn/reactos?rev=27153&view=rev Log: Do not create a new device node if we already know the PDO
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c?... ============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c Tue Jun 12 12:38:32 2007 @@ -135,7 +135,7 @@
if (!NT_SUCCESS(Status)) { - DPRINT1("Failed to reference driver object, status=0x%08x\n", Status); + DPRINT("Failed to reference driver object, status=0x%08x\n", Status); return Status; }
Modified: trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/plugplay... ============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/plugplay.c Tue Jun 12 12:38:32 2007 @@ -694,7 +694,7 @@ if (DeviceObject == NULL) return STATUS_NO_SUCH_DEVICE;
- DeviceNode = ((PEXTENDED_DEVOBJ_EXTENSION)DeviceObject->DeviceObjectExtension)->DeviceNode; + DeviceNode = IopGetDeviceNode(DeviceObject);
switch (Operation) {
Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c... ============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c Tue Jun 12 12:38:32 2007 @@ -2574,6 +2574,11 @@ */ for (i = 0; i < DeviceRelations->Count; i++) { + if (IopGetDeviceNode(DeviceRelations->Objects[i]) != NULL) + { + ObDereferenceObject(DeviceRelations->Objects[i]); + continue; + } Status = IopCreateDeviceNode( DeviceNode, DeviceRelations->Objects[i],