On Wed, Jun 21, 2023 at 10:17 AM Ashwin Sekhar T K <asek...@marvell.com> wrote: > > Acked-by: Ashwin Sekhar T K <asek...@marvell.com> > > > -----Original Message----- > > From: Thierry Herbelot <thierry.herbe...@6wind.com> > > Sent: Tuesday, June 20, 2023 3:14 PM > > To: dev@dpdk.org > > Cc: Thierry Herbelot <thierry.herbe...@6wind.com>; Thomas Monjalon > > <tho...@monjalon.net>; Nithin Kumar Dabilpuram > > <ndabilpu...@marvell.com>; Satha Koteswara Rao Kottidi > > <skotesh...@marvell.com>; Jerin Jacob Kollanukkaran > > <jer...@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.herbe...@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: sta...@dpdk.org Signed-off-by: Thierry Herbelot <thierry.herbe...@6wind.com> Acked-by: Ashwin Sekhar T K <asek...@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 >