diff mbox series

RDMA/bnxt_re: Fix error code in bnxt_re_create_cq()

Message ID d714306e-b7d7-4e89-b973-a9ff0f260c78@moroto.mountain (mailing list archive)
State Accepted
Headers show
Series RDMA/bnxt_re: Fix error code in bnxt_re_create_cq() | expand

Commit Message

Dan Carpenter Jan. 8, 2024, 9:06 a.m. UTC
Return -ENOMEM if get_zeroed_page() fails.  Don't return success.

Fixes: e275919d9669 ("RDMA/bnxt_re: Share a page to expose per CQ info with userspace")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Leon Romanovsky Jan. 8, 2024, 9:44 a.m. UTC | #1
On Mon, 08 Jan 2024 12:06:11 +0300, Dan Carpenter wrote:
> Return -ENOMEM if get_zeroed_page() fails.  Don't return success.
> 
> 

Applied, thanks!

[1/1] RDMA/bnxt_re: Fix error code in bnxt_re_create_cq()
      https://git.kernel.org/rdma/rdma/c/abdde500cdf456

Best regards,
Selvin Xavier Jan. 8, 2024, 10:03 a.m. UTC | #2
On Mon, Jan 8, 2024 at 3:14 PM Leon Romanovsky <leon@kernel.org> wrote:
>
>
> On Mon, 08 Jan 2024 12:06:11 +0300, Dan Carpenter wrote:
> > Return -ENOMEM if get_zeroed_page() fails.  Don't return success.
> >
Acked-by: Selvin Xavier <selvin.xavier@broadcom.com>
> >
>
> Applied, thanks!
>
> [1/1] RDMA/bnxt_re: Fix error code in bnxt_re_create_cq()
>       https://git.kernel.org/rdma/rdma/c/abdde500cdf456
>
> Best regards,
> --
> Leon Romanovsky <leon@kernel.org>
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index 7213dc7574d0..824349659d69 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -2944,9 +2944,9 @@  int bnxt_re_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
 	struct bnxt_qplib_dev_attr *dev_attr = &rdev->dev_attr;
 	struct bnxt_qplib_chip_ctx *cctx;
 	struct bnxt_qplib_nq *nq = NULL;
-	int rc = -ENOMEM, entries;
 	unsigned int nq_alloc_cnt;
 	int cqe = attr->cqe;
+	int rc, entries;
 	u32 active_cqs;
 
 	if (attr->flags)
@@ -3027,8 +3027,10 @@  int bnxt_re_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
 			hash_add(rdev->cq_hash, &cq->hash_entry, cq->qplib_cq.id);
 			/* Allocate a page */
 			cq->uctx_cq_page = (void *)get_zeroed_page(GFP_KERNEL);
-			if (!cq->uctx_cq_page)
+			if (!cq->uctx_cq_page) {
+				rc = -ENOMEM;
 				goto c2fail;
+			}
 			resp.comp_mask |= BNXT_RE_CQ_TOGGLE_PAGE_SUPPORT;
 		}
 		resp.cqid = cq->qplib_cq.id;