On Tue, Oct 20, 2026 at 01:11:04PM +0100, Anatoly Burakov wrote:
> ACL entry creation reserves a bitmap slot before programming hardware.
> If programming fails, the reserved slot is not restored, so repeated
> failures consume the available slots. The slot is also left reserved
> when it exceeds the supported entry limit.
> 
> Restore the bitmap slot on both failure paths. Keep it reserved only
> when entry creation succeeds.
> 
> Fixes: 40d466fa9f76 ("net/ice: support ACL filter in DCF")
> Cc: [email protected]
> 
> Signed-off-by: Anatoly Burakov <[email protected]>
Acked-by: Bruce Richardson <[email protected]>
> ---
>  drivers/net/intel/ice/ice_acl_filter.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/intel/ice/ice_acl_filter.c 
> b/drivers/net/intel/ice/ice_acl_filter.c
> index a91bd558f3..eb5d88ccc5 100644
> --- a/drivers/net/intel/ice/ice_acl_filter.c
> +++ b/drivers/net/intel/ice/ice_acl_filter.c
> @@ -462,6 +462,7 @@ ice_acl_hw_set_conf(struct ice_pf *pf, struct 
> ice_fdir_fltr *input,
>                                        acts, act_cnt, &hw_entry);
>               if (ret) {
>                       PMD_DRV_LOG(ERR, "Fail to add entry.");
> +                     rte_bitmap_set(pf->acl.slots, slot_id);
>                       return ret;
>               }
>               rule->entry_id[entry_idx] = entry_id;
> @@ -469,6 +470,7 @@ ice_acl_hw_set_conf(struct ice_pf *pf, struct 
> ice_fdir_fltr *input,
>       } else {
>               PMD_DRV_LOG(ERR, "Exceed the maximum entry number(%d)"
>                           " HW supported!", MAX_ACL_NORMAL_ENTRIES);
> +             rte_bitmap_set(pf->acl.slots, slot_id);
>               return -1;
>       }
>  
> -- 
> 2.52.0
> 

Reply via email to