All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Jerin Jacob <jerinj@marvell.com>,
	Kiran Kumar K <kirankumark@marvell.com>,
	 Sunil Kumar Kori <skori@marvell.com>,
	Satha Rao <skoteshwar@marvell.com>, dpdk-dev <dev@dpdk.org>,
	 Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Subject: Re: [PATCH 6/8] common/cnxk: handle issues from static analysis
Date: Wed, 19 Jan 2022 22:14:26 +0530	[thread overview]
Message-ID: <CALBAE1O3YjiF9wXn2WBwo2U6+gifqwC-e4Ap3KDUxAP2J+noOQ@mail.gmail.com> (raw)
In-Reply-To: <20211209091342.27017-6-ndabilpuram@marvell.com>

On Thu, Dec 9, 2021 at 2:44 PM Nithin Dabilpuram
<ndabilpuram@marvell.com> wrote:
>
> From: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
>
> Handle issues reported by static analysis tool such as
> null pointer dereferences, variable initialization, etc.
>
> Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>

Acked-by: Jerin Jacob <jerinj@marvell.com>
Applied to dpdk-next-net-mrvl/for-next-net. Thanks

Since it the fix, Changed the git log to

    common/cnxk: fix issues reported by klockwork

    Fix issues reported by klockwork(static analysis tool) such as
    null pointer dereferences, variable initialization, etc.

    Fixes: c045d2e5cbbc ("common/cnxk: add CPT configuration")
    Fixes: ed135040f0ab ("common/cnxk: add CPT LF configuration")
    Fixes: 585bb3e538f9 ("common/cnxk: add VF support to base device class")
    Fixes: 665ff1ccc2c4 ("common/cnxk: add base device class")
    Fixes: da57d4589a6f ("common/cnxk: support NIX flow control")
    Fixes: 218d022e1f3f ("common/cnxk: support NIX stats")
    Fixes: 4efa6e82fe43 ("common/cnxk: support NIX extended stats")
    Fixes: 0885429c3028 ("common/cnxk: add NIX TM hierarchy enable/disable")
    Cc: stable@dpdk.org

    Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
    Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
    Acked-by: Jerin Jacob <jerinj@marvell.com>

> ---
>  drivers/common/cnxk/roc_cpt.c       |  7 +++--
>  drivers/common/cnxk/roc_dev.c       | 21 ++++++++++++-
>  drivers/common/cnxk/roc_nix_debug.c |  6 ++++
>  drivers/common/cnxk/roc_nix_fc.c    | 12 ++++++++
>  drivers/common/cnxk/roc_nix_queue.c | 61 ++++++++++++++++++++++++++++++++++---
>  drivers/common/cnxk/roc_nix_stats.c | 18 +++++++++++
>  drivers/common/cnxk/roc_nix_tm.c    |  8 ++++-
>  7 files changed, 125 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/common/cnxk/roc_cpt.c b/drivers/common/cnxk/roc_cpt.c
> index 8f8e6d3..0e2dc45 100644
> --- a/drivers/common/cnxk/roc_cpt.c
> +++ b/drivers/common/cnxk/roc_cpt.c
> @@ -385,6 +385,9 @@ cpt_lfs_alloc(struct dev *dev, uint8_t eng_grpmsk, uint8_t blkaddr,
>                 return -EINVAL;
>
>         req = mbox_alloc_msg_cpt_lf_alloc(mbox);
> +       if (!req)
> +               return -ENOSPC;
> +
>         req->nix_pf_func = 0;
>         if (inl_dev_sso && nix_inl_dev_pffunc_get())
>                 req->sso_pf_func = nix_inl_dev_pffunc_get();
> @@ -812,9 +815,9 @@ roc_cpt_eng_grp_add(struct roc_cpt *roc_cpt, enum cpt_eng_type eng_type)
>  void
>  roc_cpt_iq_disable(struct roc_cpt_lf *lf)
>  {
> +       volatile union cpt_lf_q_grp_ptr grp_ptr = {.u = 0x0};
> +       volatile union cpt_lf_inprog lf_inprog = {.u = 0x0};
>         union cpt_lf_ctl lf_ctl = {.u = 0x0};
> -       union cpt_lf_q_grp_ptr grp_ptr;
> -       union cpt_lf_inprog lf_inprog;
>         int timeout = 20;
>         int cnt;
>
> diff --git a/drivers/common/cnxk/roc_dev.c b/drivers/common/cnxk/roc_dev.c
> index 926a916..9a86969 100644
> --- a/drivers/common/cnxk/roc_dev.c
> +++ b/drivers/common/cnxk/roc_dev.c
> @@ -57,7 +57,7 @@ pf_af_sync_msg(struct dev *dev, struct mbox_msghdr **rsp)
>         struct mbox *mbox = dev->mbox;
>         struct mbox_dev *mdev = &mbox->dev[0];
>
> -       volatile uint64_t int_status;
> +       volatile uint64_t int_status = 0;
>         struct mbox_msghdr *msghdr;
>         uint64_t off;
>         int rc = 0;
> @@ -152,6 +152,11 @@ af_pf_wait_msg(struct dev *dev, uint16_t vf, int num_msg)
>                 /* Reserve PF/VF mbox message */
>                 size = PLT_ALIGN(size, MBOX_MSG_ALIGN);
>                 rsp = mbox_alloc_msg(&dev->mbox_vfpf, vf, size);
> +               if (!rsp) {
> +                       plt_err("Failed to reserve VF%d message", vf);
> +                       continue;
> +               }
> +
>                 mbox_rsp_init(msg->id, rsp);
>
>                 /* Copy message from AF<->PF mbox to PF<->VF mbox */
> @@ -236,6 +241,12 @@ vf_pf_process_msgs(struct dev *dev, uint16_t vf)
>                                 BIT_ULL(vf % max_bits);
>                         rsp = (struct ready_msg_rsp *)mbox_alloc_msg(
>                                 mbox, vf, sizeof(*rsp));
> +                       if (!rsp) {
> +                               plt_err("Failed to alloc VF%d READY message",
> +                                       vf);
> +                               continue;
> +                       }
> +
>                         mbox_rsp_init(msg->id, rsp);
>
>                         /* PF/VF function ID */
> @@ -988,6 +999,9 @@ dev_setup_shared_lmt_region(struct mbox *mbox, bool valid_iova, uint64_t iova)
>         struct lmtst_tbl_setup_req *req;
>
>         req = mbox_alloc_msg_lmtst_tbl_setup(mbox);
> +       if (!req)
> +               return -ENOSPC;
> +
>         /* This pcifunc is defined with primary pcifunc whose LMT address
>          * will be shared. If call contains valid IOVA, following pcifunc
>          * field is of no use.
> @@ -1061,6 +1075,11 @@ dev_lmt_setup(struct dev *dev)
>          */
>         if (!dev->disable_shared_lmt) {
>                 idev = idev_get_cfg();
> +               if (!idev) {
> +                       errno = EFAULT;
> +                       goto free;
> +               }
> +
>                 if (!__atomic_load_n(&idev->lmt_pf_func, __ATOMIC_ACQUIRE)) {
>                         idev->lmt_base_addr = dev->lmt_base;
>                         idev->lmt_pf_func = dev->pf_func;
> diff --git a/drivers/common/cnxk/roc_nix_debug.c b/drivers/common/cnxk/roc_nix_debug.c
> index 266935a..7dc54f3 100644
> --- a/drivers/common/cnxk/roc_nix_debug.c
> +++ b/drivers/common/cnxk/roc_nix_debug.c
> @@ -323,6 +323,9 @@ nix_q_ctx_get(struct dev *dev, uint8_t ctype, uint16_t qid, __io void **ctx_p)
>                 int rc;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = ctype;
>                 aq->op = NIX_AQ_INSTOP_READ;
> @@ -341,6 +344,9 @@ nix_q_ctx_get(struct dev *dev, uint8_t ctype, uint16_t qid, __io void **ctx_p)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = ctype;
>                 aq->op = NIX_AQ_INSTOP_READ;
> diff --git a/drivers/common/cnxk/roc_nix_fc.c b/drivers/common/cnxk/roc_nix_fc.c
> index ca29cd2..d311371 100644
> --- a/drivers/common/cnxk/roc_nix_fc.c
> +++ b/drivers/common/cnxk/roc_nix_fc.c
> @@ -113,6 +113,9 @@ nix_fc_cq_config_get(struct roc_nix *roc_nix, struct roc_nix_fc_cfg *fc_cfg)
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = fc_cfg->cq_cfg.rq;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_READ;
> @@ -120,6 +123,9 @@ nix_fc_cq_config_get(struct roc_nix *roc_nix, struct roc_nix_fc_cfg *fc_cfg)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = fc_cfg->cq_cfg.rq;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_READ;
> @@ -147,6 +153,9 @@ nix_fc_cq_config_set(struct roc_nix *roc_nix, struct roc_nix_fc_cfg *fc_cfg)
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = fc_cfg->cq_cfg.rq;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -164,6 +173,9 @@ nix_fc_cq_config_set(struct roc_nix *roc_nix, struct roc_nix_fc_cfg *fc_cfg)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = fc_cfg->cq_cfg.rq;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> diff --git a/drivers/common/cnxk/roc_nix_queue.c b/drivers/common/cnxk/roc_nix_queue.c
> index 4455fc1..f99cdd0 100644
> --- a/drivers/common/cnxk/roc_nix_queue.c
> +++ b/drivers/common/cnxk/roc_nix_queue.c
> @@ -38,6 +38,9 @@ nix_rq_ena_dis(struct dev *dev, struct roc_nix_rq *rq, bool enable)
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = rq->qid;
>                 aq->ctype = NIX_AQ_CTYPE_RQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -48,6 +51,9 @@ nix_rq_ena_dis(struct dev *dev, struct roc_nix_rq *rq, bool enable)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = rq->qid;
>                 aq->ctype = NIX_AQ_CTYPE_RQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -80,6 +86,9 @@ nix_rq_cn9k_cfg(struct dev *dev, struct roc_nix_rq *rq, uint16_t qints,
>         struct nix_aq_enq_req *aq;
>
>         aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = rq->qid;
>         aq->ctype = NIX_AQ_CTYPE_RQ;
>         aq->op = cfg ? NIX_AQ_INSTOP_WRITE : NIX_AQ_INSTOP_INIT;
> @@ -195,6 +204,9 @@ nix_rq_cfg(struct dev *dev, struct roc_nix_rq *rq, uint16_t qints, bool cfg,
>         struct mbox *mbox = dev->mbox;
>
>         aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = rq->qid;
>         aq->ctype = NIX_AQ_CTYPE_RQ;
>         aq->op = cfg ? NIX_AQ_INSTOP_WRITE : NIX_AQ_INSTOP_INIT;
> @@ -463,6 +475,9 @@ roc_nix_cq_init(struct roc_nix *roc_nix, struct roc_nix_cq *cq)
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = cq->qid;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_INIT;
> @@ -471,6 +486,9 @@ roc_nix_cq_init(struct roc_nix *roc_nix, struct roc_nix_cq *cq)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = cq->qid;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_INIT;
> @@ -547,6 +565,9 @@ roc_nix_cq_fini(struct roc_nix_cq *cq)
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = cq->qid;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -558,6 +579,9 @@ roc_nix_cq_fini(struct roc_nix_cq *cq)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = cq->qid;
>                 aq->ctype = NIX_AQ_CTYPE_CQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -649,7 +673,7 @@ sqb_pool_populate(struct roc_nix *roc_nix, struct roc_nix_sq *sq)
>         return rc;
>  }
>
> -static void
> +static int
>  sq_cn9k_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum,
>              uint16_t smq)
>  {
> @@ -657,6 +681,9 @@ sq_cn9k_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum,
>         struct nix_aq_enq_req *aq;
>
>         aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_INIT;
> @@ -685,6 +712,7 @@ sq_cn9k_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum,
>          * might result in software missing the interrupt.
>          */
>         aq->sq.qint_idx = 0;
> +       return 0;
>  }
>
>  static int
> @@ -698,6 +726,9 @@ sq_cn9k_fini(struct nix *nix, struct roc_nix_sq *sq)
>         int rc, count;
>
>         aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_READ;
> @@ -711,6 +742,9 @@ sq_cn9k_fini(struct nix *nix, struct roc_nix_sq *sq)
>
>         /* Disable sq */
>         aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -722,6 +756,9 @@ sq_cn9k_fini(struct nix *nix, struct roc_nix_sq *sq)
>
>         /* Read SQ and free sqb's */
>         aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_READ;
> @@ -753,7 +790,7 @@ sq_cn9k_fini(struct nix *nix, struct roc_nix_sq *sq)
>         return 0;
>  }
>
> -static void
> +static int
>  sq_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum,
>         uint16_t smq)
>  {
> @@ -761,6 +798,9 @@ sq_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum,
>         struct nix_cn10k_aq_enq_req *aq;
>
>         aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_INIT;
> @@ -788,6 +828,7 @@ sq_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum,
>          * might result in software missing the interrupt.
>          */
>         aq->sq.qint_idx = 0;
> +       return 0;
>  }
>
>  static int
> @@ -801,6 +842,9 @@ sq_fini(struct nix *nix, struct roc_nix_sq *sq)
>         int rc, count;
>
>         aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_READ;
> @@ -814,6 +858,9 @@ sq_fini(struct nix *nix, struct roc_nix_sq *sq)
>
>         /* Disable sq */
>         aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -825,6 +872,9 @@ sq_fini(struct nix *nix, struct roc_nix_sq *sq)
>
>         /* Read SQ and free sqb's */
>         aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +       if (!aq)
> +               return -ENOSPC;
> +
>         aq->qidx = sq->qid;
>         aq->ctype = NIX_AQ_CTYPE_SQ;
>         aq->op = NIX_AQ_INSTOP_READ;
> @@ -895,9 +945,12 @@ roc_nix_sq_init(struct roc_nix *roc_nix, struct roc_nix_sq *sq)
>
>         /* Init SQ context */
>         if (roc_model_is_cn9k())
> -               sq_cn9k_init(nix, sq, rr_quantum, smq);
> +               rc = sq_cn9k_init(nix, sq, rr_quantum, smq);
>         else
> -               sq_init(nix, sq, rr_quantum, smq);
> +               rc = sq_init(nix, sq, rr_quantum, smq);
> +
> +       if (rc)
> +               goto nomem;
>
>         rc = mbox_process(mbox);
>         if (rc)
> diff --git a/drivers/common/cnxk/roc_nix_stats.c b/drivers/common/cnxk/roc_nix_stats.c
> index c50c8fa..756111f 100644
> --- a/drivers/common/cnxk/roc_nix_stats.c
> +++ b/drivers/common/cnxk/roc_nix_stats.c
> @@ -124,6 +124,9 @@ nix_stat_rx_queue_reset(struct nix *nix, uint16_t qid)
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = NIX_AQ_CTYPE_RQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -143,6 +146,9 @@ nix_stat_rx_queue_reset(struct nix *nix, uint16_t qid)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = NIX_AQ_CTYPE_RQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -174,6 +180,9 @@ nix_stat_tx_queue_reset(struct nix *nix, uint16_t qid)
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = NIX_AQ_CTYPE_SQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -190,6 +199,9 @@ nix_stat_tx_queue_reset(struct nix *nix, uint16_t qid)
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = NIX_AQ_CTYPE_SQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -295,6 +307,9 @@ roc_nix_xstats_get(struct roc_nix *roc_nix, struct roc_nix_xstat *xstats,
>
>         if (roc_model_is_cn9k()) {
>                 req = mbox_alloc_msg_cgx_stats(mbox);
> +               if (!req)
> +                       return -ENOSPC;
> +
>                 req->hdr.pcifunc = roc_nix_get_pf_func(roc_nix);
>
>                 rc = mbox_process_msg(mbox, (void *)&cgx_resp);
> @@ -316,6 +331,9 @@ roc_nix_xstats_get(struct roc_nix *roc_nix, struct roc_nix_xstat *xstats,
>                 }
>         } else {
>                 req = mbox_alloc_msg_rpm_stats(mbox);
> +               if (!req)
> +                       return -ENOSPC;
> +
>                 req->hdr.pcifunc = roc_nix_get_pf_func(roc_nix);
>
>                 rc = mbox_process_msg(mbox, (void *)&rpm_resp);
> diff --git a/drivers/common/cnxk/roc_nix_tm.c b/drivers/common/cnxk/roc_nix_tm.c
> index fe9e83f..a0448be 100644
> --- a/drivers/common/cnxk/roc_nix_tm.c
> +++ b/drivers/common/cnxk/roc_nix_tm.c
> @@ -424,7 +424,7 @@ nix_tm_bp_config_get(struct roc_nix *roc_nix, bool *is_enabled)
>
>         if (req) {
>                 req->num_regs = k;
> -               rc = mbox_process(mbox);
> +               rc = mbox_process_msg(mbox, (void **)&rsp);
>                 if (rc)
>                         goto err;
>                 /* Report it as enabled only if enabled or all */
> @@ -766,6 +766,9 @@ nix_tm_sq_sched_conf(struct nix *nix, struct nix_tm_node *node,
>                 struct nix_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = NIX_AQ_CTYPE_SQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> @@ -781,6 +784,9 @@ nix_tm_sq_sched_conf(struct nix *nix, struct nix_tm_node *node,
>                 struct nix_cn10k_aq_enq_req *aq;
>
>                 aq = mbox_alloc_msg_nix_cn10k_aq_enq(mbox);
> +               if (!aq)
> +                       return -ENOSPC;
> +
>                 aq->qidx = qid;
>                 aq->ctype = NIX_AQ_CTYPE_SQ;
>                 aq->op = NIX_AQ_INSTOP_WRITE;
> --
> 2.8.4
>

  reply	other threads:[~2022-01-19 16:44 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-09  9:13 [PATCH 1/8] common/cnxk: fix shift offset for tl3 length disable Nithin Dabilpuram
2021-12-09  9:13 ` [PATCH 2/8] common/cnxk: use for loop in shaper profiles cleanup Nithin Dabilpuram
2022-01-19 16:20   ` Jerin Jacob
2021-12-09  9:13 ` [PATCH 3/8] common/cnxk: change order of frag sizes and infos Nithin Dabilpuram
2022-01-19 16:25   ` Jerin Jacob
2022-01-21 10:03   ` Ferruh Yigit
2021-12-09  9:13 ` [PATCH 4/8] common/cnxk: reset stale values on error debug registers Nithin Dabilpuram
2022-01-19 16:25   ` Jerin Jacob
2021-12-09  9:13 ` [PATCH 5/8] common/cnxk: always use single qint with NIX Nithin Dabilpuram
2022-01-19 16:28   ` Jerin Jacob
2021-12-09  9:13 ` [PATCH 6/8] common/cnxk: handle issues from static analysis Nithin Dabilpuram
2022-01-19 16:44   ` Jerin Jacob [this message]
2022-01-21 10:05   ` Ferruh Yigit
2021-12-09  9:13 ` [PATCH 7/8] net/cnxk: improve inbound inline error handling for cn9k Nithin Dabilpuram
2022-01-21 10:06   ` Ferruh Yigit
2021-12-09  9:13 ` [PATCH 8/8] net/cnxk: synchronize inline session create and destroy Nithin Dabilpuram
2022-01-19 16:45   ` Jerin Jacob
2022-01-19 16:15 ` [PATCH 1/8] common/cnxk: fix shift offset for tl3 length disable Jerin Jacob
2022-01-21 10:08   ` Ferruh Yigit
2022-01-21 10:24     ` Nithin Kumar Dabilpuram
2022-01-21 12:04 ` [PATCH v2 01/10] common/cnxk: fix shift offset for TL3 " Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 02/10] common/cnxk: use for loop in shaper profiles cleanup Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 03/10] common/cnxk: fix byte order of frag sizes and infos Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 04/10] common/cnxk: reset stale values on error debug registers Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 05/10] common/cnxk: always use single interrupt ID with NIX Nithin Dabilpuram
2022-01-21 17:16     ` Kevin Traynor
2022-01-23  7:45       ` Jerin Jacob
2022-01-21 12:04   ` [PATCH v2 06/10] common/cnxk: fix null pointer dereferences Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 07/10] common/cnxk: fix uninitialized variable issues Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 08/10] net/cnxk: improve inbound inline error handling for cn9k Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 09/10] common/cnxk: set UDP ports for IPsec UDP encapsulation Nithin Dabilpuram
2022-01-21 12:04   ` [PATCH v2 10/10] net/cnxk: synchronize inline session create and destroy Nithin Dabilpuram

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALBAE1O3YjiF9wXn2WBwo2U6+gifqwC-e4Ap3KDUxAP2J+noOQ@mail.gmail.com \
    --to=jerinjacobk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=gmuthukrishn@marvell.com \
    --cc=jerinj@marvell.com \
    --cc=kirankumark@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.