From 2fe1aab7fe14d9cb5b37cdbd4deb3ffb4a000ddc Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 19 Jul 2009 07:06:08 +0000 Subject: [PATCH] - Send all waiting packets instead of only the first one to prevent a buildup of queued packets on a non-sendable NCE which becomes sendable later svn path=/trunk/; revision=42076 --- reactos/lib/drivers/ip/network/neighbor.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/lib/drivers/ip/network/neighbor.c b/reactos/lib/drivers/ip/network/neighbor.c index 94755c1f0a4..92ba308168c 100644 --- a/reactos/lib/drivers/ip/network/neighbor.c +++ b/reactos/lib/drivers/ip/network/neighbor.c @@ -40,9 +40,9 @@ VOID NBSendPackets( PNEIGHBOR_CACHE_ENTRY NCE ) { HashValue &= NB_HASHMASK; /* Send any waiting packets */ - PacketEntry = ExInterlockedRemoveHeadList(&NCE->PacketQueue, - &NeighborCache[HashValue].Lock); - if( PacketEntry != NULL ) { + while ((PacketEntry = ExInterlockedRemoveHeadList(&NCE->PacketQueue, + &NeighborCache[HashValue].Lock)) != NULL) + { Packet = CONTAINING_RECORD( PacketEntry, NEIGHBOR_PACKET, Next ); TI_DbgPrint