ibmveth_schedule_replenishing(adapter); 
static int ibmveth_change_mtu(struct net_device *dev, int new_mtu){	struct ibmveth_adapter *adapter = dev->priv;	int i;	int prev_smaller = 1;	if ((new_mtu < 68) || 	    (new_mtu > (pool_size[IbmVethNumBufferPools-1]) - IBMVETH_BUFF_OH))		return -EINVAL;	for(i = 0; i<IbmVethNumBufferPools; i++) {		int activate = 0;		if (new_mtu > (pool_size[i]  - IBMVETH_BUFF_OH)) { 			activate = 1;			prev_smaller= 1;		} else {			if (prev_smaller)				activate = 1;			prev_smaller= 0;		}		if (activate && !adapter->rx_buff_pool[i].active) {			struct ibmveth_buff_pool *pool = 						&adapter->rx_buff_pool[i];			if(ibmveth_alloc_buffer_pool(pool)) {				ibmveth_error_printk("unable to alloc pool\n");				return -ENOMEM;			}			adapter->rx_buff_pool[i].active = 1;		} else if (!activate && adapter->rx_buff_pool[i].active) {			adapter->rx_buff_pool[i].active = 0;			h_free_logical_lan_buffer(adapter->vdev->unit_address,					  (u64)pool_size[i]);		}	}	ibmveth_schedule_replenishing(adapter);	dev->mtu = new_mtu;	return 0;	}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e2adbcb480992de8a01acf9218e8bbd9b507fc6f/ibmveth.c/clean/drivers/net/ibmveth.c