From: Selvin Xavier Date: Wed, 4 Sep 2024 10:04:12 +0000 (-0700) Subject: RDMA/bnxt_re: Fix the compatibility flag for variable size WQE X-Git-Tag: v6.12-rc1~72^2~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6b2b5c86d448630cea58bf6fdfc761da3e3efb5;p=thirdparty%2Fkernel%2Flinux.git RDMA/bnxt_re: Fix the compatibility flag for variable size WQE For older adapters that doesn't support variable size WQE, driver is wrongly reporting that variable WQE is supported, when the latest library is used. Report the variable WQE capability only if the driver supports it. Fixes: 10a104c0debb ("RDMA/bnxt_re: Enable variable size WQEs for user space applications") Signed-off-by: Selvin Xavier Link: https://patch.msgid.link/1725444253-13221-2-git-send-email-selvin.xavier@broadcom.com Signed-off-by: Leon Romanovsky --- diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c index 82c1f3b2f8250..ecee691ed1e0a 100644 --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c @@ -4272,7 +4272,8 @@ int bnxt_re_alloc_ucontext(struct ib_ucontext *ctx, struct ib_udata *udata) if (ureq.comp_mask & BNXT_RE_COMP_MASK_REQ_UCNTX_VAR_WQE_SUPPORT) { resp.comp_mask |= BNXT_RE_UCNTX_CMASK_HAVE_MODE; resp.mode = rdev->chip_ctx->modes.wqe_mode; - uctx->cmask |= BNXT_RE_UCNTX_CAP_VAR_WQE_ENABLED; + if (resp.mode == BNXT_QPLIB_WQE_MODE_VARIABLE) + uctx->cmask |= BNXT_RE_UCNTX_CAP_VAR_WQE_ENABLED; } }