We were allocating a page, even though we always want 4k. Use kmalloc instead of get_zeroed_page. Signed-off-by: Anton Blanchard --- Index: net-next-2.6/drivers/net/ibmveth.c =================================================================== --- net-next-2.6.orig/drivers/net/ibmveth.c 2010-08-23 08:52:30.633730198 +1000 +++ net-next-2.6/drivers/net/ibmveth.c 2010-08-23 08:52:31.003703934 +1000 @@ -473,7 +473,7 @@ static void ibmveth_cleanup(struct ibmve DMA_BIDIRECTIONAL); adapter->buffer_list_dma = DMA_ERROR_CODE; } - free_page((unsigned long)adapter->buffer_list_addr); + kfree(adapter->buffer_list_addr); adapter->buffer_list_addr = NULL; } @@ -483,7 +483,7 @@ static void ibmveth_cleanup(struct ibmve DMA_BIDIRECTIONAL); adapter->filter_list_dma = DMA_ERROR_CODE; } - free_page((unsigned long)adapter->filter_list_addr); + kfree(adapter->filter_list_addr); adapter->filter_list_addr = NULL; } @@ -560,8 +560,8 @@ static int ibmveth_open(struct net_devic for(i = 0; irx_buff_pool[i].size; - adapter->buffer_list_addr = (void*) get_zeroed_page(GFP_KERNEL); - adapter->filter_list_addr = (void*) get_zeroed_page(GFP_KERNEL); + adapter->buffer_list_addr = kzalloc(4096, GFP_KERNEL); + adapter->filter_list_addr = kzalloc(4096, GFP_KERNEL); if(!adapter->buffer_list_addr || !adapter->filter_list_addr) { ibmveth_error_printk("unable to allocate filter or buffer list pages\n"); -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html