diff --git a/reactos/drivers/network/tcpip/tcpip/irp.c b/reactos/drivers/network/tcpip/tcpip/irp.c index c8030942361..c73484b3ca6 100644 --- a/reactos/drivers/network/tcpip/tcpip/irp.c +++ b/reactos/drivers/network/tcpip/tcpip/irp.c @@ -18,7 +18,7 @@ VOID IRPRemember( PIRP Irp, PCHAR File, UINT Line ) { } NTSTATUS IRPFinish( PIRP Irp, NTSTATUS Status ) { - TI_DbgPrint(MID_TRACE,("Called: Irp %x, Status %x Event %x\n", Irp, Status, Irp->UserEvent)); + DbgPrint("Called: Irp %x, Status %x Event %x\n", Irp, Status, Irp->UserEvent); #ifdef MEMTRACK UntrackFL( __FILE__, __LINE__, Irp ); diff --git a/reactos/drivers/network/tcpip/tcpip/main.c b/reactos/drivers/network/tcpip/tcpip/main.c index 9b547b97342..5f2065c0d21 100644 --- a/reactos/drivers/network/tcpip/tcpip/main.c +++ b/reactos/drivers/network/tcpip/tcpip/main.c @@ -385,11 +385,7 @@ TiDispatchOpenClose( RIRP(Irp); - TI_DbgPrint(DEBUG_IRP, ("Called. DeviceObject is at (0x%X), IRP is at (0x%X).\n", DeviceObject, Irp)); - - IoMarkIrpPending(Irp); - Irp->IoStatus.Status = STATUS_PENDING; - Irp->IoStatus.Information = 0; + DbgPrint("Called. DeviceObject is at (0x%X), IRP is at (0x%X).\n", DeviceObject, Irp); IrpSp = IoGetCurrentIrpStackLocation(Irp); @@ -417,7 +413,7 @@ TiDispatchOpenClose( Status = STATUS_INVALID_DEVICE_REQUEST; } - TI_DbgPrint(DEBUG_IRP, ("Leaving. Status is (0x%X)\n", Status)); + DbgPrint("Leaving. Status is (0x%X)\n", Status); return IRPFinish( Irp, Status ); } diff --git a/reactos/ntoskrnl/io/iomgr/file.c b/reactos/ntoskrnl/io/iomgr/file.c index 6d4f4e9b94a..e63c27fe549 100644 --- a/reactos/ntoskrnl/io/iomgr/file.c +++ b/reactos/ntoskrnl/io/iomgr/file.c @@ -892,6 +892,9 @@ IoCreateFile(OUT PHANDLE FileHandle, NTSTATUS Status = STATUS_SUCCESS; AUX_DATA AuxData; ACCESS_STATE AccessState; + KIRQL OldIrql; + PKNORMAL_ROUTINE NormalRoutine; + PVOID NormalContext; DPRINT("IoCreateFile(FileHandle 0x%p, DesiredAccess %x, " "ObjectAttributes 0x%p ObjectAttributes->ObjectName->Buffer %S)\n", @@ -1063,8 +1066,8 @@ IoCreateFile(OUT PHANDLE FileHandle, Irp->Tail.Overlay.OriginalFileObject = FileObject; Irp->RequestorMode = AccessMode; Irp->Flags = IRP_CREATE_OPERATION | - IRP_SYNCHRONOUS_API;// | - //IRP_DEFER_IO_COMPLETION; + IRP_SYNCHRONOUS_API | + IRP_DEFER_IO_COMPLETION; Irp->Tail.Overlay.Thread = PsGetCurrentThread(); Irp->UserEvent = &FileObject->Event; Irp->UserIosb = IoStatusBlock; @@ -1130,21 +1133,18 @@ IoCreateFile(OUT PHANDLE FileHandle, NULL); Status = IoStatusBlock->Status; } -#if 0 else { /* We'll have to complete it ourselves */ ASSERT(!Irp->PendingReturned); KeRaiseIrql(APC_LEVEL, &OldIrql); - FileObject->Event.Header.SignalState = 1; - if ((Irp->Flags & IRP_BUFFERED_IO) && (Irp->Flags & IRP_DEALLOCATE_BUFFER)) - { - ExFreePool(Irp->AssociatedIrp.SystemBuffer); - } - IoFreeIrp(Irp); + IopCompleteRequest(&Irp->Tail.Apc, + &NormalRoutine, + &NormalContext, + (PVOID*)&FileObject, + &NormalContext); KeLowerIrql(OldIrql); } -#endif if (!NT_SUCCESS(Status)) { DPRINT("Failing create request with status %x\n", Status);