On 2026/9/28 21:08, Tomasz Lichwala wrote:
On 28.09.2026 08:53, Linkui Xiao wrote:diff --git a/drivers/net/ethernet/intel/ice/ice_sriov.c b/drivers/net/ethernet/intel/ice/ice_sriov.c index 95abc6704820..df84dbe12cba 100644 --- a/drivers/net/ethernet/intel/ice/ice_sriov.c +++ b/drivers/net/ethernet/intel/ice/ice_sriov.c @@ -446,8 +446,10 @@ static int ice_init_vf_vsi_res(struct ice_vf *vf) return -ENOMEM;vsi = ice_vf_vsi_setup(vf);- if (!vsi) - return -ENOMEM; + if (!vsi) { + err = -ENOMEM; + goto free_irqs; + }err = ice_vf_init_host_cfg(vf, vsi);if (err) @@ -457,6 +459,9 @@ static int ice_init_vf_vsi_res(struct ice_vf *vf)release_vsi:ice_vf_vsi_release(vf); +free_irqs: + ice_virt_free_irqs(pf, vf->first_vector_idx, vf->num_msix); + return err; }@@ -490,6 +495,8 @@ static int ice_start_vfs(struct ice_pf *pf)dev_err(ice_pf_to_dev(pf), "Failed to attach VF %d to eswitch, error %d", vf->vf_id, retval); ice_vf_vsi_release(vf); + ice_virt_free_irqs(pf, vf->first_vector_idx, + vf->num_msix);Nit: For consistency with the teardown: loop (which frees IRQs before releasing the VSI), consider swapping the order here too - currently this branch releases the VSI first, then frees IRQs, the opposite order. Not functionally significant, just readability.
Thanks for the review, Tomasz. Agreed this is only a readability nit. The two calls are independent and the current order is functionally safe, so I'll keep v2 as is. No v3 planned for this change. Thanks, Linkui
goto teardown; } }Reviewed-by: Tomasz Lichwala <[email protected]>
