int CParaNdisRX::PrepareReceiveBuffers() { UINT i; DEBUG_ENTRY(4); NdisZeroMemory(m_ReservedRxBufferMemory, sizeof(m_ReservedRxBufferMemory)); m_RxBufferIndex = 0; m_RxBufferOffset = 0; for (i = 0; i < m_Context->NetMaxReceiveBuffers; ++i) { pRxNetDescriptor pBuffersDescriptor = CreateRxDescriptorOnInit(); if (!pBuffersDescriptor) break; pBuffersDescriptor->Queue = this; if (!AddRxBufferToQueue(pBuffersDescriptor)) { ParaNdis_FreeRxBufferDescriptor(m_Context, pBuffersDescriptor); break; } InsertTailList(&m_NetReceiveBuffers, &pBuffersDescriptor->listEntry); m_NetNofReceiveBuffers++; } /* TODO - NetMaxReceiveBuffers should take into account all queues */ m_Context->NetMaxReceiveBuffers = m_NetNofReceiveBuffers; DPrintf(0, ("[%s] MaxReceiveBuffers %d\n", __FUNCTION__, m_Context->NetMaxReceiveBuffers)); m_Reinsert = true; m_VirtQueue.Kick(); return m_NetNofReceiveBuffers; }
int CParaNdisRX::PrepareReceiveBuffers() { int nRet = 0; UINT i; DEBUG_ENTRY(4); for (i = 0; i < m_Context->NetMaxReceiveBuffers; ++i) { pRxNetDescriptor pBuffersDescriptor = CreateRxDescriptorOnInit(); if (!pBuffersDescriptor) break; pBuffersDescriptor->Queue = this; if (!AddRxBufferToQueue(pBuffersDescriptor)) { ParaNdis_FreeRxBufferDescriptor(m_Context, pBuffersDescriptor); break; } InsertTailList(&m_NetReceiveBuffers, &pBuffersDescriptor->listEntry); m_NetNofReceiveBuffers++; } /* TODO - NetMaxReceiveBuffers should take into account all queues */ m_Context->NetMaxReceiveBuffers = m_NetNofReceiveBuffers; DPrintf(0, "[%s] MaxReceiveBuffers %d\n", __FUNCTION__, m_Context->NetMaxReceiveBuffers); m_Reinsert = true; return nRet; }