Activate serial device interface only at the very end of IRP_MN_START_DEVICE
[reactos.git] / reactos / drivers / dd / serial / pnp.c
index 6ca35ef..e1a9bcf 100644 (file)
@@ -242,15 +242,6 @@ SerialPnpStartDevice(
                return Status;
        }
 
-       /* Activate serial interface */
-       Status = IoSetDeviceInterfaceState(&DeviceExtension->SerialInterfaceName, TRUE);
-       if (!NT_SUCCESS(Status))
-       {
-               DPRINT("Serial: IoSetDeviceInterfaceState() failed with status 0x%08x\n", Status);
-               IoDeleteSymbolicLink(&LinkName);
-               return Status;
-       }
-
        /* Connect interrupt and enable them */
        Status = IoConnectInterrupt(
                &DeviceExtension->Interrupt, SerialInterruptService,
@@ -289,6 +280,10 @@ SerialPnpStartDevice(
        DeviceExtension->MCR |= SR_MCR_DTR | SR_MCR_RTS;
        WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR);
 
+       /* Activate serial interface */
+       IoSetDeviceInterfaceState(&DeviceExtension->SerialInterfaceName, TRUE);
+       /* We don't really care if the call succeeded or not... */
+
        return STATUS_SUCCESS;
 }