RDMA/bnxt_re: Fix error code in bnxt_re_create_cq()

Return -ENOMEM if get_zeroed_page() fails.  Don't return success.

Fixes: e275919d96 ("RDMA/bnxt_re: Share a page to expose per CQ info with userspace")
Link: https://lore.kernel.org/r/d714306e-b7d7-4e89-b973-a9ff0f260c78@moroto.mountain
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
Dan Carpenter 2024-01-08 12:06:11 +03:00 committed by Leon Romanovsky
parent 2307157c85
commit d24b923f1d

View File

@ -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_dev_attr *dev_attr = &rdev->dev_attr;
struct bnxt_qplib_chip_ctx *cctx; struct bnxt_qplib_chip_ctx *cctx;
struct bnxt_qplib_nq *nq = NULL; struct bnxt_qplib_nq *nq = NULL;
int rc = -ENOMEM, entries;
unsigned int nq_alloc_cnt; unsigned int nq_alloc_cnt;
int cqe = attr->cqe; int cqe = attr->cqe;
int rc, entries;
u32 active_cqs; u32 active_cqs;
if (attr->flags) 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); hash_add(rdev->cq_hash, &cq->hash_entry, cq->qplib_cq.id);
/* Allocate a page */ /* Allocate a page */
cq->uctx_cq_page = (void *)get_zeroed_page(GFP_KERNEL); cq->uctx_cq_page = (void *)get_zeroed_page(GFP_KERNEL);
if (!cq->uctx_cq_page) if (!cq->uctx_cq_page) {
rc = -ENOMEM;
goto c2fail; goto c2fail;
}
resp.comp_mask |= BNXT_RE_CQ_TOGGLE_PAGE_SUPPORT; resp.comp_mask |= BNXT_RE_CQ_TOGGLE_PAGE_SUPPORT;
} }
resp.cqid = cq->qplib_cq.id; resp.cqid = cq->qplib_cq.id;