On 10/20/2015 02:53 AM, Haggai Eran wrote: > When discussing the patches to demux ids in rdma_cm instead of ib_cm, it > was decided that it is best to use the P_Key value in the packet headers. > However, the mlx5 and ipath drivers are currently unable to send correct > P_Key values in GMP headers. They always send using a single P_Key that is > set during the GSI QP initialization. > > Change the rdma_cm code to look at the P_Key value that is part of the > packet payload as a workaround. Once the drivers are fixed this patch can > be reverted. > > Fixes: 4c21b5bcef73 ("IB/cma: Add net_dev and private data checks to > RDMA CM") > Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> > --- > Changes from v0: > - improve commit message > > drivers/infiniband/core/cma.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c > index 59a2dafc8c57..e8324543e085 100644 > --- a/drivers/infiniband/core/cma.c > +++ b/drivers/infiniband/core/cma.c > @@ -1067,14 +1067,14 @@ static int cma_save_req_info(const struct ib_cm_event *ib_event, > sizeof(req->local_gid)); > req->has_gid = true; > req->service_id = req_param->primary_path->service_id; > - req->pkey = req_param->bth_pkey; > + req->pkey = be16_to_cpu(req_param->primary_path->pkey); > break; > case IB_CM_SIDR_REQ_RECEIVED: > req->device = sidr_param->listen_id->device; > req->port = sidr_param->port; > req->has_gid = false; > req->service_id = sidr_param->service_id; > - req->pkey = sidr_param->bth_pkey; > + req->pkey = sidr_param->pkey; > break; > default: > return -EINVAL; > And, to be clear, you are looking for this to be part of 4.3-rc updates, yes? -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: 0E572FDD
Attachment:
signature.asc
Description: OpenPGP digital signature