aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@intel.com>2014-02-11 08:24:07 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-03-14 16:29:15 -0700
commita48665970962a9b50aa81722ca4e943fcfdc6699 (patch)
tree9f1467b8e73cd2756695d215c384345b8573306c /drivers/net/ethernet
parentigb: Fix code comment (diff)
downloadlinux-dev-a48665970962a9b50aa81722ca4e943fcfdc6699.tar.xz
linux-dev-a48665970962a9b50aa81722ca4e943fcfdc6699.zip
i40e: delete netdev after deleting napi and vectors
We've been deleting the netdev before getting around to deleting the napi structs. Unfortunately, we then didn't delete the napi structs because we have a check for netdev, thus we were leaving garbage around in the system. Change-ID: Ife540176f6c9f801147495b3f2d2ac2e61ddcc58 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 43d391bb65c4..a3f122eb9f7e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -6806,8 +6806,6 @@ int i40e_vsi_release(struct i40e_vsi *vsi)
if (vsi->netdev) {
/* results in a call to i40e_close() */
unregister_netdev(vsi->netdev);
- free_netdev(vsi->netdev);
- vsi->netdev = NULL;
}
} else {
if (!test_and_set_bit(__I40E_DOWN, &vsi->state))
@@ -6826,6 +6824,10 @@ int i40e_vsi_release(struct i40e_vsi *vsi)
i40e_vsi_delete(vsi);
i40e_vsi_free_q_vectors(vsi);
+ if (vsi->netdev) {
+ free_netdev(vsi->netdev);
+ vsi->netdev = NULL;
+ }
i40e_vsi_clear_rings(vsi);
i40e_vsi_clear(vsi);