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
>