- Cancel the disconnect timer if the disconnect is cancelled

svn path=/trunk/; revision=53017
This commit is contained in:
Cameron Gutman
2011-08-01 04:06:55 +00:00
parent f34cad36e2
commit 6f80903f43
@@ -120,6 +120,7 @@ VOID NTAPI DispCancelRequest(
PTRANSPORT_CONTEXT TranContext;
PFILE_OBJECT FileObject;
UCHAR MinorFunction;
PCONNECTION_ENDPOINT Connection;
BOOLEAN DequeuedIrp = TRUE;
IoReleaseCancelSpinLock(Irp->CancelIrql);
@@ -171,7 +172,16 @@ VOID NTAPI DispCancelRequest(
break;
case TDI_DISCONNECT:
Connection = (PCONNECTION_ENDPOINT)TranContext->Handle.ConnectionContext;
DequeuedIrp = TCPRemoveIRP(TranContext->Handle.ConnectionContext, Irp);
if (DequeuedIrp)
{
if (KeCancelTimer(&Connection->DisconnectTimer))
{
DereferenceObject(Connection);
}
}
break;
default: