]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
RDMA/irdma: Remove incorrect masking of PD
authorMustafa Ismail <mustafa.ismail@intel.com>
Fri, 25 Feb 2022 16:32:11 +0000 (10:32 -0600)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 27 Apr 2022 09:57:46 +0000 (11:57 +0200)
BugLink: https://bugs.launchpad.net/bugs/1969110
[ Upstream commit 17850f2b0b4b806e47cc44df94186bfc2cdd490b ]

The PD id is masked with 0x7fff, while PD can be 18 bits for GEN2 HW.
Remove the masking as it should not be needed and can cause incorrect PD
id to be used.

Fixes: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs")
Link: https://lore.kernel.org/r/20220225163211.127-4-shiraz.saleem@intel.com
Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 2154f7cadd88f16ea58323e2fcba811245584bc7)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/infiniband/hw/irdma/verbs.c

index 8bbc4620a97a283b441247bde630a31db07b0a53..4a6fdd5c09e3e64901d2f1eb6a7a130f8b5ab438 100644 (file)
@@ -2506,7 +2506,7 @@ static int irdma_dealloc_mw(struct ib_mw *ibmw)
        cqp_info = &cqp_request->info;
        info = &cqp_info->in.u.dealloc_stag.info;
        memset(info, 0, sizeof(*info));
-       info->pd_id = iwpd->sc_pd.pd_id & 0x00007fff;
+       info->pd_id = iwpd->sc_pd.pd_id;
        info->stag_idx = ibmw->rkey >> IRDMA_CQPSQ_STAG_IDX_S;
        info->mr = false;
        cqp_info->cqp_cmd = IRDMA_OP_DEALLOC_STAG;
@@ -3018,7 +3018,7 @@ static int irdma_dereg_mr(struct ib_mr *ib_mr, struct ib_udata *udata)
        cqp_info = &cqp_request->info;
        info = &cqp_info->in.u.dealloc_stag.info;
        memset(info, 0, sizeof(*info));
-       info->pd_id = iwpd->sc_pd.pd_id & 0x00007fff;
+       info->pd_id = iwpd->sc_pd.pd_id;
        info->stag_idx = ib_mr->rkey >> IRDMA_CQPSQ_STAG_IDX_S;
        info->mr = true;
        if (iwpbl->pbl_allocated)