|
@@ -2079,11 +2079,6 @@ static void *e1000_alloc_frag(const struct e1000_adapter *a)
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
-static void e1000_free_frag(const void *data)
|
|
|
-{
|
|
|
- put_page(virt_to_head_page(data));
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* e1000_clean_rx_ring - Free Rx Buffers per Queue
|
|
|
* @adapter: board private structure
|
|
@@ -2107,7 +2102,7 @@ static void e1000_clean_rx_ring(struct e1000_adapter *adapter,
|
|
|
adapter->rx_buffer_len,
|
|
|
DMA_FROM_DEVICE);
|
|
|
if (buffer_info->rxbuf.data) {
|
|
|
- e1000_free_frag(buffer_info->rxbuf.data);
|
|
|
+ skb_free_frag(buffer_info->rxbuf.data);
|
|
|
buffer_info->rxbuf.data = NULL;
|
|
|
}
|
|
|
} else if (adapter->clean_rx == e1000_clean_jumbo_rx_irq) {
|
|
@@ -4594,28 +4589,28 @@ static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter,
|
|
|
data = e1000_alloc_frag(adapter);
|
|
|
/* Failed allocation, critical failure */
|
|
|
if (!data) {
|
|
|
- e1000_free_frag(olddata);
|
|
|
+ skb_free_frag(olddata);
|
|
|
adapter->alloc_rx_buff_failed++;
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
if (!e1000_check_64k_bound(adapter, data, bufsz)) {
|
|
|
/* give up */
|
|
|
- e1000_free_frag(data);
|
|
|
- e1000_free_frag(olddata);
|
|
|
+ skb_free_frag(data);
|
|
|
+ skb_free_frag(olddata);
|
|
|
adapter->alloc_rx_buff_failed++;
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
/* Use new allocation */
|
|
|
- e1000_free_frag(olddata);
|
|
|
+ skb_free_frag(olddata);
|
|
|
}
|
|
|
buffer_info->dma = dma_map_single(&pdev->dev,
|
|
|
data,
|
|
|
adapter->rx_buffer_len,
|
|
|
DMA_FROM_DEVICE);
|
|
|
if (dma_mapping_error(&pdev->dev, buffer_info->dma)) {
|
|
|
- e1000_free_frag(data);
|
|
|
+ skb_free_frag(data);
|
|
|
buffer_info->dma = 0;
|
|
|
adapter->alloc_rx_buff_failed++;
|
|
|
break;
|
|
@@ -4637,7 +4632,7 @@ static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter,
|
|
|
adapter->rx_buffer_len,
|
|
|
DMA_FROM_DEVICE);
|
|
|
|
|
|
- e1000_free_frag(data);
|
|
|
+ skb_free_frag(data);
|
|
|
buffer_info->rxbuf.data = NULL;
|
|
|
buffer_info->dma = 0;
|
|
|
|