diff options
Diffstat (limited to 'drivers/net/ethernet/intel/e1000/e1000_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 19 | 
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c index 983eb4e6f7aa..74dc15055971 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c @@ -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;  |