Hi Raju, > -----Original Message----- > From: Raju Rangoju [mailto:rajur@xxxxxxxxxxx] > Sent: Friday, April 27, 2018 4:08 AM > To: Parav Pandit <parav@xxxxxxxxxxxx> > Cc: Shiraz Saleem <shiraz.saleem@xxxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx; > SWise OGC <swise@xxxxxxxxxxxxxxxxxxxxx>; sean.hefty@xxxxxxxxx > Subject: Re: iwarp kernel mode applications are broken with commit f35faa4ba > > 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. Thanks a lot for the quick test. I will send the patch through Leon's queue for for-rc with your Tested-by tag. > > > > 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