[Intel-wired-lan] [next PATCH S57 04/11] i40evf: free rings in remove function

Bimmy Pujari bimmy.pujari at intel.com
Mon Dec 12 23:44:10 UTC 2016


From: Mitch Williams <mitch.a.williams at intel.com>

When the i40evf_remove() calls netdev close, the device doesn't actually
close - it schedules the work for the watchdog to perform. Since we're
stopping the watchdog, this work doesn't get done. However, we're
resetting the part, so we can free resources after the reset request has
gone through. This plugs a memory leak.

Signed-off-by: Mitch Williams <mitch.a.williams at intel.com>
Change-ID: Id5335dcaf76ce00d2a4c3d26e9faf711d7f051cf
---
Testing Hints : Load/unload test

 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 920c1cb..5673dbd 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -2871,7 +2871,8 @@ static void i40evf_remove(struct pci_dev *pdev)
 		i40evf_request_reset(adapter);
 		msleep(50);
 	}
-
+	i40evf_free_all_tx_resources(adapter);
+	i40evf_free_all_rx_resources(adapter);
 	i40evf_misc_irq_disable(adapter);
 	i40evf_free_misc_irq(adapter);
 	i40evf_reset_interrupt_capability(adapter);
-- 
2.4.11



More information about the Intel-wired-lan mailing list