From: Mitch Williams Date: Mon, 18 Apr 2016 18:33:48 +0000 (-0700) Subject: i40evf: Allocate Rx buffers properly X-Git-Tag: v4.1.12-92~121^2~17 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f81b366afe17edf707d5d898089e15cf4a136edf;p=users%2Fjedix%2Flinux-maple.git i40evf: Allocate Rx buffers properly Orabug: 23176970 Allocate the correct number of RX buffers, and don't fiddle with next_to_use. The common RX code handles all of this. This fixes a memory leak of one page each time the driver is opened. Change-Id: Id06eca353086e084921f047acad28c14745684ee Signed-off-by: Mitch Williams Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher (cherry picked from commit b163098ea1eece88a8834952dcbade1f17378731) Signed-off-by: Brian Maly --- diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index bb75cbc2e0c9e..ca09f95a9034a 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c @@ -990,9 +990,7 @@ static void i40evf_configure(struct i40evf_adapter *adapter) for (i = 0; i < adapter->num_active_queues; i++) { struct i40e_ring *ring = &adapter->rx_rings[i]; - i40evf_alloc_rx_buffers(ring, ring->count); - ring->next_to_use = ring->count - 1; - writel(ring->next_to_use, ring->tail); + i40evf_alloc_rx_buffers(ring, I40E_DESC_UNUSED(ring)); } } @@ -2761,7 +2759,6 @@ static void i40evf_remove(struct pci_dev *pdev) iounmap(hw->hw_addr); pci_release_regions(pdev); - i40evf_free_all_tx_resources(adapter); i40evf_free_all_rx_resources(adapter); i40evf_free_queues(adapter);