[NTOS:IO]
authorThomas Faber <thomas.faber@reactos.org>
Thu, 15 Jun 2017 13:51:09 +0000 (13:51 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Thu, 15 Jun 2017 13:51:09 +0000 (13:51 +0000)
- Simplify logic in PipCallDriverAddDevice.
CORE-13336

svn path=/trunk/; revision=75048

reactos/ntoskrnl/io/pnpmgr/pnpinit.c

index 1cf62a0..733a68e 100644 (file)
@@ -361,19 +361,22 @@ PipCallDriverAddDevice(IN PDEVICE_NODE DeviceNode,
         IopRemoveDevice(DeviceNode);
         goto Exit;
     }
+
     Status = IopInitializeDevice(DeviceNode, DriverObject);
-    if (NT_SUCCESS(Status))
+    if (!NT_SUCCESS(Status))
     {
-        Status = IopAttachFilterDrivers(DeviceNode, SubKey, FALSE);
-        if (!NT_SUCCESS(Status))
-        {
-            IopRemoveDevice(DeviceNode);
-            goto Exit;
-        }
+        goto Exit;
+    }
 
-        Status = IopStartDevice(DeviceNode);
+    Status = IopAttachFilterDrivers(DeviceNode, SubKey, FALSE);
+    if (!NT_SUCCESS(Status))
+    {
+        IopRemoveDevice(DeviceNode);
+        goto Exit;
     }
 
+    Status = IopStartDevice(DeviceNode);
+
 Exit:
     /* Close key and return status */
     ZwClose(SubKey);