ice: Destroy scheduler tree in reset path
authorHenry Tieman <henry.w.tieman@intel.com>
Fri, 26 Oct 2018 18:44:36 +0000 (11:44 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 13 Nov 2018 17:09:26 +0000 (09:09 -0800)
The scheduler tree is is always rebuilt during reset. The existing code
adds new scheduler nodes for queues but may not clean up earlier nodes.
This patch removed the old scheduler tree during reset before it is
rebuilt.

Signed-off-by: Henry Tieman <henry.w.tieman@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_lib.c

index 597005f3991908abca9a8a7c25a11bf31db0b849..53685a66125b43ec4b84df3483ce5af88188e531 100644 (file)
@@ -2551,6 +2551,7 @@ int ice_vsi_rebuild(struct ice_vsi *vsi)
                return -EINVAL;
 
        pf = vsi->back;
+       ice_rm_vsi_lan_cfg(vsi->port_info, vsi->idx);
        ice_vsi_free_q_vectors(vsi);
        ice_free_res(vsi->back->sw_irq_tracker, vsi->sw_base_vector, vsi->idx);
        ice_free_res(vsi->back->hw_irq_tracker, vsi->hw_base_vector, vsi->idx);