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/net…
==============================================================================
--- 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");