diff --git a/drivers/network/afd/afd/lock.c b/drivers/network/afd/afd/lock.c index 6ecd4f202d3..4036a9c9ee0 100644 --- a/drivers/network/afd/afd/lock.c +++ b/drivers/network/afd/afd/lock.c @@ -237,6 +237,9 @@ NTSTATUS NTAPI UnlockAndMaybeComplete 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 @@ NTSTATUS NTAPI UnlockAndMaybeComplete } 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 );