i40evf: don't leak queue vectors
Fix a memory leak. Driver was allocating memory for queue vectors on init but not freeing them on shutdown. These need to be freed at two different times: during module unload, and during reset recovery when the driver cannot contact the PF driver and needs to give up. Change-ID: I7c1d0157a776e960d4da432dfe309035aad7c670 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
d3e2edb70e
Коммит
d31944d6f0
|
@ -1542,6 +1542,7 @@ static void i40evf_reset_task(struct work_struct *work)
|
|||
i40evf_free_misc_irq(adapter);
|
||||
i40evf_reset_interrupt_capability(adapter);
|
||||
i40evf_free_queues(adapter);
|
||||
i40evf_free_q_vectors(adapter);
|
||||
kfree(adapter->vf_res);
|
||||
i40evf_shutdown_adminq(hw);
|
||||
adapter->netdev->flags &= ~IFF_UP;
|
||||
|
@ -2429,6 +2430,7 @@ static void i40evf_remove(struct pci_dev *pdev)
|
|||
i40evf_misc_irq_disable(adapter);
|
||||
i40evf_free_misc_irq(adapter);
|
||||
i40evf_reset_interrupt_capability(adapter);
|
||||
i40evf_free_q_vectors(adapter);
|
||||
}
|
||||
|
||||
if (adapter->watchdog_timer.function)
|
||||
|
|
Загрузка…
Ссылка в новой задаче