 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); 
static int ibmveth_change_mtu(struct net_device *dev, int new_mtu){	if ((new_mtu < 68) || (new_mtu > (1<<20)))		return -EINVAL;	dev->mtu = new_mtu;	return 0;	}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b6d35182fe62e57d368062adcc880ca35119d88e/ibmveth.c/clean/drivers/net/ibmveth.c