[PATCH] net/ice: fix ACL filter uninit

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Tue Feb 25 19:16:36 CET 2025


Acked-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>

On 21/02/2025 08:25, Mingjin Ye wrote:
> The pf has enabled the ACL filter, so uninit is no longer limited
> to the DCF.
>
> Fixes: a9d612291c2d ("net/ice: support IPv4 fragments in ACL filters")
>
> Signed-off-by: Mingjin Ye <mingjinx.ye at intel.com>
> ---
>   drivers/net/intel/ice/ice_acl_filter.c | 48 +++++++++++++-------------
>   1 file changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/net/intel/ice/ice_acl_filter.c b/drivers/net/intel/ice/ice_acl_filter.c
> index 04c17a98ed..83cb3e36f9 100644
> --- a/drivers/net/intel/ice/ice_acl_filter.c
> +++ b/drivers/net/intel/ice/ice_acl_filter.c
> @@ -278,26 +278,28 @@ ice_acl_prof_init(struct ice_pf *pf)
>   	if (ret)
>   		goto err_add_prof_ipv4_sctp;
>   
> -	for (i = 0; i < pf->main_vsi->idx; i++) {
> -		ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4, i);
> -		if (ret)
> -			goto err_assoc_prof;
> -
> -		ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_frag, i);
> -		if (ret)
> -			goto err_assoc_prof;
> -
> -		ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_udp, i);
> -		if (ret)
> -			goto err_assoc_prof;
> -
> -		ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_tcp, i);
> -		if (ret)
> -			goto err_assoc_prof;
> -
> -		ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_sctp, i);
> -		if (ret)
> -			goto err_assoc_prof;
> +	if (hw->dcf_enabled) {
> +		for (i = 0; i < pf->main_vsi->idx; i++) {
> +			ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4, i);
> +			if (ret)
> +				goto err_assoc_prof;
> +
> +			ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_frag, i);
> +			if (ret)
> +				goto err_assoc_prof;
> +
> +			ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_udp, i);
> +			if (ret)
> +				goto err_assoc_prof;
> +
> +			ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_tcp, i);
> +			if (ret)
> +				goto err_assoc_prof;
> +
> +			ret = ice_flow_assoc_prof(hw, ICE_BLK_ACL, prof_ipv4_sctp, i);
> +			if (ret)
> +				goto err_assoc_prof;
> +		}
>   	}
>   	return 0;
>   
> @@ -1082,10 +1084,8 @@ ice_acl_uninit(struct ice_adapter *ad)
>   	struct ice_pf *pf = &ad->pf;
>   	struct ice_hw *hw = ICE_PF_TO_HW(pf);
>   
> -	if (ad->hw.dcf_enabled) {
> -		ice_deinit_acl(pf);
> -		ice_acl_prof_free(hw);
> -	}
> +	ice_deinit_acl(pf);
> +	ice_acl_prof_free(hw);
>   }
>   
>   static struct

-- 
Regards,
Vladimir



More information about the dev mailing list