[EXT] [PATCH v3] common/cnxk/roc_npa: unlock mbox in error cases

Jerin Jacob jerinjacobk at gmail.com
Wed Jun 21 07:00:49 CEST 2023


On Wed, Jun 21, 2023 at 10:17 AM Ashwin Sekhar T K <asekhar at marvell.com> wrote:
>
> Acked-by: Ashwin Sekhar T K <asekhar at marvell.com>
>
> > -----Original Message-----
> > From: Thierry Herbelot <thierry.herbelot at 6wind.com>
> > Sent: Tuesday, June 20, 2023 3:14 PM
> > To: dev at dpdk.org
> > Cc: Thierry Herbelot <thierry.herbelot at 6wind.com>; Thomas Monjalon
> > <thomas at monjalon.net>; Nithin Kumar Dabilpuram
> > <ndabilpuram at marvell.com>; Satha Koteswara Rao Kottidi
> > <skoteshwar at marvell.com>; Jerin Jacob Kollanukkaran
> > <jerinj at marvell.com>
> > Subject: [EXT] [PATCH v3] common/cnxk/roc_npa: unlock mbox in error
> > cases
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > In npa_aura_pool_fini and in npa_aura_fini, Unlock mbox when an error is
> > detected.
> >
> > Fixes: ea4d70cc4f0b46d5 ('common/cnxk: add NPA aura create/destroy ROC
> > APIs')
> > Signed-off-by: Thierry Herbelot <thierry.herbelot at 6wind.com>


Updated the git commit as follows and applied to
dpdk-next-net-mrvl/for-next-net. Thanks


    common/cnxk: fix mbox unlocking in error cases

    Fix mbox unlock issues in npa_aura_pool_fini() and in npa_aura_fini(),
    when an error is detected.

    Fixes: ea4d70cc4f0b ("common/cnxk: add NPA aura create/destroy ROC API")
    Cc: stable at dpdk.org

    Signed-off-by: Thierry Herbelot <thierry.herbelot at 6wind.com>
    Acked-by: Ashwin Sekhar T K <asekhar at marvell.com>


> > --
> > V2: also patch npa_aura_pool_fini
> > V3: add missing space
> > ---
> >  drivers/common/cnxk/roc_npa.c | 12 ++++++++----
> >  1 file changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/common/cnxk/roc_npa.c
> > b/drivers/common/cnxk/roc_npa.c index 377439c2baaf..3b9a70028ba2
> > 100644
> > --- a/drivers/common/cnxk/roc_npa.c
> > +++ b/drivers/common/cnxk/roc_npa.c
> > @@ -197,8 +197,10 @@ npa_aura_pool_fini(struct mbox *m_box, uint32_t
> > aura_id, uint64_t aura_handle)
> >       off = mbox->rx_start + pool_rsp->hdr.next_msgoff;
> >       aura_rsp = (struct npa_aq_enq_rsp *)((uintptr_t)mdev->mbase +
> > off);
> >
> > -     if (aura_rsp->hdr.rc != 0 || pool_rsp->hdr.rc != 0)
> > -             return NPA_ERR_AURA_POOL_FINI;
> > +     if (aura_rsp->hdr.rc != 0 || pool_rsp->hdr.rc != 0) {
> > +             rc = NPA_ERR_AURA_POOL_FINI;
> > +             goto exit;
> > +     }
> >
> >       /* Sync NDC-NPA for LF */
> >       ndc_req = mbox_alloc_msg_ndc_sync_op(mbox); @@ -245,8
> > +247,10 @@ npa_aura_fini(struct mbox *m_box, uint32_t aura_id)
> >       if (rc < 0)
> >               goto exit;
> >
> > -     if (aura_rsp->hdr.rc != 0)
> > -             return NPA_ERR_AURA_POOL_FINI;
> > +     if (aura_rsp->hdr.rc != 0) {
> > +             rc = NPA_ERR_AURA_POOL_FINI;
> > +             goto exit;
> > +     }
> >
> >       /* Sync NDC-NPA for LF */
> >       ndc_req = mbox_alloc_msg_ndc_sync_op(mbox);
> > --
> > 2.39.2
>


More information about the dev mailing list