From patchwork Tue Jun 20 09:43:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Herbelot X-Patchwork-Id: 128834 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7AE1542D06; Tue, 20 Jun 2023 11:43:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 64CCD40EDF; Tue, 20 Jun 2023 11:43:46 +0200 (CEST) Received: from mail-ej1-f97.google.com (mail-ej1-f97.google.com [209.85.218.97]) by mails.dpdk.org (Postfix) with ESMTP id 4DCEB4068E for ; Tue, 20 Jun 2023 11:43:44 +0200 (CEST) Received: by mail-ej1-f97.google.com with SMTP id a640c23a62f3a-988883b0d8fso364810366b.1 for ; Tue, 20 Jun 2023 02:43:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; t=1687254224; x=1689846224; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gRcqOtbDcuRjjQPX2K4mc24Qf/e7bUWak6hri3L74fg=; b=PADsxLpGsgtSKQublz4Og7M+2LDmEQah1/gSrwSJ3oPbPjNweSH2jv0r7lCi8M9F6r MaIIKks1o+uSDgVqC/Cunp2HkPGO78Jm+KMnv4eHAlh9ZJGWARZDCS1w4sljDHB0bHSo cUEsHY4cmOT+4mz+HwbTH6SSH1idhUKCs9oYq950fx9XsUYgKCyJOC2/3Ay9LcIIxdOh rOGR4Z79TM0/gPn/xnU6Fu2l4B7I+PoBDeLxcDwhTm3d4AC6tsYbAIxZaT/qaGc3H9eg 1CIzqVpGJVhvArKx4Iu2yNxl6mChGEMiq7ew6xjNRWLFeaCFyJW7yIChfmj+9NWVDt2Q iKwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687254224; x=1689846224; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gRcqOtbDcuRjjQPX2K4mc24Qf/e7bUWak6hri3L74fg=; b=DvVRJiLxS4QhQyfZnqUwiivEkiYdtG6tBdNtwXVGjNlErTQrJvAy43ZVqvRq/xPPKC Iu/7es3mwFU72S7p8jkz6EJqTo0xvqsO8FnVAgKFR/H418ZEfass033WS1una867d673 jlJofv4erRy0+heY8XoFg56J4IRNpmcdzBkpY/xRYegMCPOHEs8DO2WRQJoDQ2wAsGrE hEWeqj+EzkrODW3I5cmSPHMvICUFYNhNjDP+fBoFHP55TZdvZe8nH730cHVlkaolafWA 2xwAjI4mXylP2x2eCk1M+ous51wXOGoe++zOI08faoSh13Wpl8Gt8z8TtS6PY98orMu1 ShXg== X-Gm-Message-State: AC+VfDxhGlUs/k6mCbu5DUFjMnyiQIEyciUb3IgxNKEAeM2b4kcx7Kz+ o3lKLfgtJkRf1CP4DLe84ViOABevTg6ewwuj/TUlcv/EdDbz+18Vxryy X-Google-Smtp-Source: ACHHUZ4+kF9LNnXy3UjyFXuVaV6dy4aDQ6FS6xZjM/4PO/KhevxvaZ8iSdI/3LY3c7iPlRoK3TcR+SFCN242 X-Received: by 2002:a17:907:e9e:b0:988:a404:c489 with SMTP id ho30-20020a1709070e9e00b00988a404c489mr5261930ejc.41.1687254223938; Tue, 20 Jun 2023 02:43:43 -0700 (PDT) Received: from smtpservice.6wind.com ([185.13.181.2]) by smtp-relay.gmail.com with ESMTP id g21-20020a1709061e1500b0098820662089sm320752ejj.284.2023.06.20.02.43.43; Tue, 20 Jun 2023 02:43:43 -0700 (PDT) X-Relaying-Domain: 6wind.com Received: from localhost (vader.dev.6wind.com [10.17.1.39]) by smtpservice.6wind.com (Postfix) with ESMTP id 8836760012; Tue, 20 Jun 2023 11:43:43 +0200 (CEST) From: Thierry Herbelot To: dev@dpdk.org Cc: Thierry Herbelot , Thomas Monjalon , Nithin Dabilpuram , Satha Koteswara Rao Kottidi , Jerin Jacob Kollanukkaran Subject: [PATCH v3] common/cnxk/roc_npa: unlock mbox in error cases Date: Tue, 20 Jun 2023 11:43:37 +0200 Message-Id: <20230620094337.3127595-1-thierry.herbelot@6wind.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230620093950.3127383-1-thierry.herbelot@6wind.com> References: <20230620093950.3127383-1-thierry.herbelot@6wind.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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 Acked-by: Ashwin Sekhar T K --- 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);