 if(!adapter->rx_buff_pool[pool].active) { ibmveth_rxq_harvest_buffer(adapter); ibmveth_free_buffer_pool(adapter, &adapter->rx_buff_pool[pool]); return; } 
static void ibmveth_rxq_recycle_buffer(struct ibmveth_adapter *adapter){	u32 q_index = adapter->rx_queue.index;	u64 correlator = adapter->rx_queue.queue_addr[q_index].correlator;	unsigned int pool = correlator >> 32;	unsigned int index = correlator & 0xffffffffUL;	union ibmveth_buf_desc desc;	unsigned long lpar_rc;	ibmveth_assert(pool < IbmVethNumBufferPools);	ibmveth_assert(index < adapter->rx_buff_pool[pool].size);	desc.desc = 0;	desc.fields.valid = 1;	desc.fields.length = adapter->rx_buff_pool[pool].buff_size;	desc.fields.address = adapter->rx_buff_pool[pool].dma_addr[index];	lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, desc.desc);		    	if(lpar_rc != H_Success) {		ibmveth_debug_printk("h_add_logical_lan_buffer failed during recycle rc=%ld", lpar_rc);		ibmveth_remove_buffer_from_pool(adapter, adapter->rx_queue.queue_addr[adapter->rx_queue.index].correlator);	}	if(++adapter->rx_queue.index == adapter->rx_queue.num_slots) {		adapter->rx_queue.index = 0;		adapter->rx_queue.toggle = !adapter->rx_queue.toggle;	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b6d35182fe62e57d368062adcc880ca35119d88e/ibmveth.c/clean/drivers/net/ibmveth.c