Author: cgutman
Date: Wed Aug 6 17:19:53 2008
New Revision: 35152
URL:
http://svn.reactos.org/svn/reactos?rev=35152&view=rev
Log:
- Don't check Status so we don't quit looping after the first unsuccessful IRP
Modified:
branches/aicom-network-fixes/drivers/network/afd/afd/read.c
branches/aicom-network-fixes/drivers/network/afd/afd/write.c
Modified: branches/aicom-network-fixes/drivers/network/afd/afd/read.c
URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/net…
==============================================================================
--- branches/aicom-network-fixes/drivers/network/afd/afd/read.c [iso-8859-1] (original)
+++ branches/aicom-network-fixes/drivers/network/afd/afd/read.c [iso-8859-1] Wed Aug 6
17:19:53 2008
@@ -168,11 +168,8 @@
FCB, FCB->Recv.Content));
/*OskitDumpBuffer( FCB->Recv.Window, FCB->Recv.Content );*/
- Status = STATUS_SUCCESS;
-
/* Try to clear some requests */
- while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) &&
- NT_SUCCESS(Status) ) {
+ while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) {
NextIrpEntry =
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_RECV]);
NextIrp =
@@ -476,10 +473,14 @@
InsertTailList( &FCB->DatagramList, &DatagramRecv->ListEntry );
} else Status = STATUS_NO_MEMORY;
+ if( !NT_SUCCESS( Status ) ) {
+ SocketStateUnlock( FCB );
+ return Status;
+ }
+
/* Satisfy as many requests as we can */
- while( NT_SUCCESS(Status) &&
- !IsListEmpty( &FCB->DatagramList ) &&
+ while( !IsListEmpty( &FCB->DatagramList ) &&
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) {
AFD_DbgPrint(MID_TRACE,("Looping trying to satisfy request\n"));
ListEntry = RemoveHeadList( &FCB->DatagramList );
Modified: branches/aicom-network-fixes/drivers/network/afd/afd/write.c
URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/net…
==============================================================================
--- branches/aicom-network-fixes/drivers/network/afd/afd/write.c [iso-8859-1] (original)
+++ branches/aicom-network-fixes/drivers/network/afd/afd/write.c [iso-8859-1] Wed Aug 6
17:19:53 2008
@@ -85,8 +85,7 @@
FCB->Send.BytesUsed -= Irp->IoStatus.Information;
if( !FCB->Send.BytesUsed &&
- !IsListEmpty( &FCB->PendingIrpList[FUNCTION_SEND] ) &&
- NT_SUCCESS(Status) ) {
+ !IsListEmpty( &FCB->PendingIrpList[FUNCTION_SEND] ) ) {
NextIrpEntry =
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_SEND]);
NextIrp =