[NTOS:IO]
[reactos.git] / 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);