diff --git a/drivers/network/afd/afd/main.c b/drivers/network/afd/afd/main.c index ec3e2787379..1fd1ef1ed0f 100644 --- a/drivers/network/afd/afd/main.c +++ b/drivers/network/afd/afd/main.c @@ -202,6 +202,7 @@ VOID DestroySocket( PAFD_FCB FCB ) { if( InFlightRequest[i]->InFlightRequest ) { AFD_DbgPrint(MID_TRACE,("Cancelling in flight irp %d (%x)\n", i, InFlightRequest[i]->InFlightRequest)); + IoCancelIrp(InFlightRequest[i]->InFlightRequest); InFlightRequest[i]->InFlightRequest = NULL; } } diff --git a/drivers/network/ndis/ndis/miniport.c b/drivers/network/ndis/ndis/miniport.c index 6dc10ff5d43..76317028a6f 100644 --- a/drivers/network/ndis/ndis/miniport.c +++ b/drivers/network/ndis/ndis/miniport.c @@ -900,7 +900,7 @@ VOID NTAPI MiniportDpc( NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n")); - NdisWorkItem = ExAllocatePool(NonPagedPool, sizeof(PNDIS_WORK_ITEM)); + NdisWorkItem = ExAllocatePool(NonPagedPool, sizeof(NDIS_WORK_ITEM)); WorkItem = (PWORK_QUEUE_ITEM)NdisWorkItem->WrapperReserved; diff --git a/drivers/network/tcpip/tcpip/dispatch.c b/drivers/network/tcpip/tcpip/dispatch.c index d48653d1c40..c6f552bdfb7 100644 --- a/drivers/network/tcpip/tcpip/dispatch.c +++ b/drivers/network/tcpip/tcpip/dispatch.c @@ -179,17 +179,21 @@ VOID NTAPI DispCancelRequest( if( !ChewCreate( &WorkItem, sizeof(DISCONNECT_TYPE), DispDoDisconnect, &DisType ) ) ASSERT(0); + + IoReleaseCancelSpinLock(Irp->CancelIrql); return; case TDI_SEND_DATAGRAM: if (FileObject->FsContext2 != (PVOID)TDI_TRANSPORT_ADDRESS_FILE) { TI_DbgPrint(MIN_TRACE, ("TDI_SEND_DATAGRAM, but no address file.\n")); + break; } break; case TDI_RECEIVE_DATAGRAM: if (FileObject->FsContext2 != (PVOID)TDI_TRANSPORT_ADDRESS_FILE) { TI_DbgPrint(MIN_TRACE, ("TDI_RECEIVE_DATAGRAM, but no address file.\n")); + break; } DGRemoveIRP(TranContext->Handle.AddressHandle, Irp);