On Friday, April 04/27/18, 2018 at 03:36:18 +0000, Parav Pandit wrote: Parav, > Hi Shiraz, Raju, > > > -----Original Message----- > > My validation team reported the same issue on i40iw with 4.17-rc kernels. > > > > Some more data. Looks like the failure is because we can't find the cached gid > > due to the gid idx being wrong in query_gid. > > > > rdma_connect > > cma_connect_iw > > cma_modify_qp_rtr > > ib_query_gid > > ib_get_cached_gid > > __ib_cache_gid_get (EINVAL) > > > This call trace is helpful. > Can you please run ibv_devinfo -v | grep GID and see that you are getting the expected GID. > For iWarp we have only one entry GID table. So want to make sure that GID table is build correctly. > > From the above call trace, is appears that, > cma_modify_qp_rtr() contains, > struct ib_qp_attr qp_attr; > > ah_attr from above qp_attr remains uninitialized by iw_cm_init_qp_attr() and iwcm_init_qp_init_attr(). > Before my fix, gid_index was always ignored by the query_gid() callback such as i40iw_query_gid() and c4iw_query_gid(). > So it used to work. > Now my fix expects all values to be correct; due to uninitialized ib_qp_attr it is likely failing. > > So can you please try below hunk and see if ib_query_gid() progresses for you? > If it works, I will send the proper patch shortly. > Its working. Issue is not seen with the below patch. > diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c > index 8512f63..e119cff 100644 > --- a/drivers/infiniband/core/cma.c > +++ b/drivers/infiniband/core/cma.c > @@ -863,7 +863,7 @@ void rdma_destroy_qp(struct rdma_cm_id *id) > static int cma_modify_qp_rtr(struct rdma_id_private *id_priv, > struct rdma_conn_param *conn_param) > { > - struct ib_qp_attr qp_attr; > + struct ib_qp_attr qp_attr = {}; > int qp_attr_mask, ret; > union ib_gid sgid; > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html