- Queue the packet again if we currently don't have enough resources to process it
authorCameron Gutman <aicommander@gmail.com>
Fri, 19 Sep 2008 23:51:26 +0000 (23:51 +0000)
committerCameron Gutman <aicommander@gmail.com>
Fri, 19 Sep 2008 23:51:26 +0000 (23:51 +0000)
svn path=/branches/aicom-network-fixes/; revision=36336

drivers/network/ndis/ndis/miniport.c

index 221af35..ed3b99b 100644 (file)
@@ -818,7 +818,10 @@ VOID NTAPI MiniportWorker(IN PVOID WorkItem)
                   KeLowerIrql(RaiseOldIrql);
                 }
               }
-           if( NdisStatus != NDIS_STATUS_PENDING ) {
+
+           if( NdisStatus == NDIS_STATUS_RESOURCES )
+               MiniQueueWorkItem(Adapter, WorkItemType, WorkItemContext);
+           else if( NdisStatus != NDIS_STATUS_PENDING ) {
                NdisMSendComplete
                    ( Adapter, (PNDIS_PACKET)WorkItemContext, NdisStatus );
                Adapter->MiniportBusy = FALSE;