mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
ice: Free VSI contexts during for unload
In the unload path, all VSIs are freed. Also free the related VSI contexts to prevent memory leaks. Signed-off-by: Victor Raj <victor.raj@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>
This commit is contained in:
parent
0f5d4c21a5
commit
33e055fcc2
@ -811,6 +811,9 @@ void ice_deinit_hw(struct ice_hw *hw)
|
||||
/* Attempt to disable FW logging before shutting down control queues */
|
||||
ice_cfg_fw_log(hw, false);
|
||||
ice_shutdown_all_ctrlq(hw);
|
||||
|
||||
/* Clear VSI contexts if not already cleared */
|
||||
ice_clear_all_vsi_ctx(hw);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -347,6 +347,18 @@ static void ice_clear_vsi_ctx(struct ice_hw *hw, u16 vsi_handle)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_clear_all_vsi_ctx - clear all the VSI context entries
|
||||
* @hw: pointer to the hw struct
|
||||
*/
|
||||
void ice_clear_all_vsi_ctx(struct ice_hw *hw)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
for (i = 0; i < ICE_MAX_VSI; i++)
|
||||
ice_clear_vsi_ctx(hw, i);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_add_vsi - add VSI context to the hardware and VSI handle list
|
||||
* @hw: pointer to the hw struct
|
||||
|
@ -190,6 +190,8 @@ ice_update_vsi(struct ice_hw *hw, u16 vsi_handle, struct ice_vsi_ctx *vsi_ctx,
|
||||
struct ice_sq_cd *cd);
|
||||
bool ice_is_vsi_valid(struct ice_hw *hw, u16 vsi_handle);
|
||||
struct ice_vsi_ctx *ice_get_vsi_ctx(struct ice_hw *hw, u16 vsi_handle);
|
||||
void ice_clear_all_vsi_ctx(struct ice_hw *hw);
|
||||
/* Switch config */
|
||||
enum ice_status ice_get_initial_sw_cfg(struct ice_hw *hw);
|
||||
|
||||
/* Switch/bridge related commands */
|
||||
|
Loading…
Reference in New Issue
Block a user