mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 14:16:48 +07:00
ice: Change max MSI-x vector_id check in cfg_irq_map
Currently we check to make sure the vector_id passed down from iavf is less than or equal to pf->hw.func_caps.common_caps.num_msix_vectors. This is incorrect because the vector_id is always 0-based and never greater than or equal to the ICE_MAX_INTR_PER_VF. Fix this by checking to make sure the vector_id is less than the max allowed interrupts per VF (ICE_MAX_INTR_PER_VF). Signed-off-by: Brett Creeley <brett.creeley@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
ec4f5a436b
commit
b791cdd5c7
@ -2173,9 +2173,11 @@ static int ice_vc_cfg_irq_map_msg(struct ice_vf *vf, u8 *msg)
|
||||
|
||||
vector_id = map->vector_id;
|
||||
vsi_id = map->vsi_id;
|
||||
/* validate msg params */
|
||||
if (!(vector_id < pf->hw.func_caps.common_cap
|
||||
.num_msix_vectors) || !ice_vc_isvalid_vsi_id(vf, vsi_id) ||
|
||||
/* vector_id is always 0-based for each VF, and can never be
|
||||
* larger than or equal to the max allowed interrupts per VF
|
||||
*/
|
||||
if (!(vector_id < ICE_MAX_INTR_PER_VF) ||
|
||||
!ice_vc_isvalid_vsi_id(vf, vsi_id) ||
|
||||
(!vector_id && (map->rxq_map || map->txq_map))) {
|
||||
v_ret = VIRTCHNL_STATUS_ERR_PARAM;
|
||||
goto error_param;
|
||||
|
Loading…
Reference in New Issue
Block a user