Author: cgutman Date: Fri Aug 1 22:51:17 2008 New Revision: 35024
URL: http://svn.reactos.org/svn/reactos?rev=35024&view=rev Log: - Fix a bug where Irp->IoStatus wasn't set if Status == STATUS_PENDING
Modified: branches/aicom-network-fixes/drivers/network/afd/afd/lock.c
Modified: branches/aicom-network-fixes/drivers/network/afd/afd/lock.c URL: http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/netw... ============================================================================== --- branches/aicom-network-fixes/drivers/network/afd/afd/lock.c [iso-8859-1] (original) +++ branches/aicom-network-fixes/drivers/network/afd/afd/lock.c [iso-8859-1] Fri Aug 1 22:51:17 2008 @@ -237,6 +237,9 @@ UINT Information, PIO_COMPLETION_ROUTINE Completion ) {
+ Irp->IoStatus.Status = Status; + Irp->IoStatus.Information = Information; + if( Status == STATUS_PENDING ) { /* We should firstly mark this IRP as pending, because otherwise it may be completed by StreamSocketConnectComplete() @@ -246,8 +249,6 @@ } else { if ( Irp->MdlAddress ) UnlockRequest( Irp, IoGetCurrentIrpStackLocation( Irp ) ); SocketStateUnlock( FCB ); - Irp->IoStatus.Status = Status; - Irp->IoStatus.Information = Information; if( Completion ) Completion( FCB->DeviceExt->DeviceObject, Irp, FCB ); IoCompleteRequest( Irp, IO_NETWORK_INCREMENT );