Message ID | 1461004429-34316-9-git-send-email-jesse.brandeburg@intel.com |
---|---|
State | Accepted |
Delegated to: | Jeff Kirsher |
Headers | show |
> -----Original Message----- > From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On > Behalf Of Jesse Brandeburg > Sent: Monday, April 18, 2016 11:34 AM > To: intel-wired-lan@lists.osuosl.org > Subject: [Intel-wired-lan] [PATCH next S35 v3 8/9] i40evf: Allocate rx buffers > properly > > From: Mitch Williams <mitch.a.williams@intel.com> > > 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. > > Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> > Change-Id: Id06eca353086e084921f047acad28c14745684ee > --- > drivers/net/ethernet/intel/i40evf/i40evf_main.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) Tested-by: Andrew Bowers <andrewx.bowers@intel.com> KEDR leak check doesn't show any leaks when loading and unloading driver
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index 8d77ad1..6609a5b 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)); } } @@ -2762,7 +2760,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);