[ros-diffs] [cgutman] 35152: - Don't check Status so we don't quit looping after the first unsuccessful IRP

cgutman at svn.reactos.org cgutman at svn.reactos.org
Thu Aug 7 00:19:53 CEST 2008


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/network/afd/afd/read.c?rev=35152&r1=35151&r2=35152&view=diff
==============================================================================
--- 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/network/afd/afd/write.c?rev=35152&r1=35151&r2=35152&view=diff
==============================================================================
--- 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 =



More information about the Ros-diffs mailing list