RDMA/qedr: Fix reported max_pkeys
authorKamal Heib <kamalheib1@gmail.com>
Thu, 27 Aug 2020 14:16:55 +0000 (17:16 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 2 Sep 2020 18:42:36 +0000 (15:42 -0300)
As qedr driver supports both RoCE and iWarp, make sure to set the
max_pkeys only when running in RoCE mode.

Link: https://lore.kernel.org/r/20200827141655.406185-1-kamalheib1@gmail.com
Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
Acked-by: Michal KalderonĀ <michal.kalderon@marvell.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/qedr/verbs.c
drivers/net/ethernet/qlogic/qed/qed_rdma.c

index b49bef9..0bdfa30 100644 (file)
@@ -157,7 +157,7 @@ int qedr_query_device(struct ib_device *ibdev,
 
        attr->local_ca_ack_delay = qattr->dev_ack_delay;
        attr->max_fast_reg_page_list_len = qattr->max_mr / 8;
-       attr->max_pkeys = QEDR_ROCE_PKEY_MAX;
+       attr->max_pkeys = qattr->max_pkey;
        attr->max_ah = qattr->max_ah;
 
        return 0;
index a4bcde5..0389458 100644 (file)
@@ -504,7 +504,8 @@ static void qed_rdma_init_devinfo(struct qed_hwfn *p_hwfn,
        dev->max_mw = 0;
        dev->max_mr_mw_fmr_pbl = (PAGE_SIZE / 8) * (PAGE_SIZE / 8);
        dev->max_mr_mw_fmr_size = dev->max_mr_mw_fmr_pbl * PAGE_SIZE;
-       dev->max_pkey = QED_RDMA_MAX_P_KEY;
+       if (QED_IS_ROCE_PERSONALITY(p_hwfn))
+               dev->max_pkey = QED_RDMA_MAX_P_KEY;
 
        dev->max_srq = p_hwfn->p_rdma_info->num_srqs;
        dev->max_srq_wr = QED_RDMA_MAX_SRQ_WQE_ELEM;