Author: cgutman Date: Thu Aug 14 10:14:32 2008 New Revision: 35340
URL: http://svn.reactos.org/svn/reactos?rev=35340&view=rev Log: - Always set Irp->IoStatus.Status - Clear the cancel routine only when completing
Modified: branches/aicom-network-fixes/drivers/network/tcpip/tcpip/irp.c
Modified: branches/aicom-network-fixes/drivers/network/tcpip/tcpip/irp.c URL: http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/netw... ============================================================================== --- branches/aicom-network-fixes/drivers/network/tcpip/tcpip/irp.c [iso-8859-1] (original) +++ branches/aicom-network-fixes/drivers/network/tcpip/tcpip/irp.c [iso-8859-1] Thu Aug 14 10:14:32 2008 @@ -27,14 +27,14 @@ UntrackFL( __FILE__, __LINE__, Irp ); #endif
- (void)IoSetCancelRoutine( Irp, NULL ); + Irp->IoStatus.Status = Status;
if( Status == STATUS_PENDING ) IoMarkIrpPending( Irp ); else { - Irp->IoStatus.Status = Status; Irql = KeGetCurrentIrql();
+ (void)IoSetCancelRoutine( Irp, NULL ); IoCompleteRequest( Irp, IO_NETWORK_INCREMENT ); if (KeGetCurrentIrql() != Irql) { DbgPrint("WARNING: IO COMPLETION RETURNED AT WRONG IRQL:\n");