[dpdk-stable] [PATCH] net/bnxt: fix RSS context cleanup

Ajit Khaparde ajit.khaparde at broadcom.com
Fri Mar 19 01:05:44 CET 2021


On Wed, Mar 17, 2021 at 5:47 PM Ajit Khaparde
<ajit.khaparde at broadcom.com> wrote:
>
> The PMD is allocating an extra RSS context with each port start.
> But it is freeing only one RSS context during port stop. So at some point
> we run out of RSS contexts when we do multiple port stop/start sequences.
> bnxt_hwrm_vnic_ctx_alloc() is called by bnxt_setup_one_vnic(), but
> bnxt_hwrm_vnic_ctx_free() is not called in the corresponding
> bnxt_free_one_vnic().
>
> Fix this by calling bnxt_hwrm_vnic_ctx_free() in bnxt_free_one_vnic().
>
> Fixes: 7fe5668d2ea3 ("net/bnxt: support VLAN filter and strip")
> Cc: stable at dpdk.org
>
> Signed-off-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
Patch applied to dpdk-next-net-brcm.

> ---
>  drivers/net/bnxt/bnxt_ethdev.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index 1997783a7d..ff92f999db 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -2531,6 +2531,10 @@ static int bnxt_free_one_vnic(struct bnxt *bp, uint16_t vnic_id)
>         }
>         bnxt_del_dflt_mac_filter(bp, vnic);
>
> +       rc = bnxt_hwrm_vnic_ctx_free(bp, vnic);
> +       if (rc)
> +               return rc;
> +
>         rc = bnxt_hwrm_vnic_free(bp, vnic);
>         if (rc)
>                 return rc;
> --
> 2.21.1 (Apple Git-122.3)
>


More information about the stable mailing list