Removed this IoReleaseCancelSpinlock. I believe it's correct but seems to bugcheck others. Modified: trunk/reactos/drivers/net/tcpip/tcpip/dispatch.c _____
Modified: trunk/reactos/drivers/net/tcpip/tcpip/dispatch.c --- trunk/reactos/drivers/net/tcpip/tcpip/dispatch.c 2005-01-18 04:33:31 UTC (rev 13113) +++ trunk/reactos/drivers/net/tcpip/tcpip/dispatch.c 2005-01-18 04:39:15 UTC (rev 13114) @@ -63,7 +63,7 @@
* Context = Pointer to context information (FILE_OBJECT) */ { - KIRQL OldIrql; + /*KIRQL OldIrql;*/ PFILE_OBJECT FileObject; PTRANSPORT_CONTEXT TranContext;
@@ -76,7 +76,7 @@ KeSetEvent(&TranContext->CleanupEvent, 0, FALSE);
/* We are expected to release the cancel spin lock */ - IoReleaseCancelSpinLock(OldIrql); + /*IoReleaseCancelSpinLock(OldIrql);*/
TI_DbgPrint(DEBUG_IRP, ("Leaving.\n")); } @@ -150,7 +150,7 @@ PTRANSPORT_CONTEXT TranContext; PFILE_OBJECT FileObject; UCHAR MinorFunction; - NTSTATUS Status = STATUS_SUCCESS; + /*NTSTATUS Status = STATUS_SUCCESS;*/
TI_DbgPrint(DEBUG_IRP, ("Called.\n"));
@@ -211,10 +211,9 @@ break; }
- if (Status != STATUS_PENDING) - DispCancelComplete(FileObject); - else - IoReleaseCancelSpinLock(Irp->CancelIrql); + IoReleaseCancelSpinLock(Irp->CancelIrql); + + DispCancelComplete(FileObject);
TI_DbgPrint(MAX_TRACE, ("Leaving.\n")); }