RDMA/irdma: Remove incorrect masking of PD
authorMustafa Ismail <mustafa.ismail@intel.com>
Fri, 25 Feb 2022 16:32:11 +0000 (10:32 -0600)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 28 Feb 2022 16:07:40 +0000 (12:07 -0400)
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>
drivers/infiniband/hw/irdma/verbs.c

index ad57c53f2aed05d43e7dc01cb1513004cde37676..e731768c2b2a8f2bb071c45753bb5ffda3f61d45 100644 (file)
@@ -2501,7 +2501,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;
@@ -3004,7 +3004,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)