From 7b8f448f33c7ee5613fe68484aaf6e38e12dfb20 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Thu, 15 Jun 2017 13:51:09 +0000 Subject: [PATCH] [NTOS:IO] - Simplify logic in PipCallDriverAddDevice. CORE-13336 svn path=/trunk/; revision=75048 --- reactos/ntoskrnl/io/pnpmgr/pnpinit.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/reactos/ntoskrnl/io/pnpmgr/pnpinit.c b/reactos/ntoskrnl/io/pnpmgr/pnpinit.c index 1cf62a06a66..733a68eb69b 100644 --- a/reactos/ntoskrnl/io/pnpmgr/pnpinit.c +++ b/reactos/ntoskrnl/io/pnpmgr/pnpinit.c @@ -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); -- 2.17.1