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"));
 }