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

Ashwin Sekhar T K asekhar at marvell.com
Wed Jun 21 06:46:58 CEST 2023


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>
> --
> 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