> > > + dev->max_sge = min_t(u32, RDMA_MAX_SGE_PER_SQ_WQE, > > > + RDMA_MAX_SGE_PER_RQ_WQE); > > > > Our kernel target mode consumers sort of rely on max_sge_rd, you need > > to make sure to set it too. > Good catch. Thanks!
Actually, as I come to code this, I just realized that max_sge_rd is already set in the query verb itself: +int qedr_query_device(struct ib_device *ibdev, + struct ib_device_attr *attr, struct ib_udata *udata) +{ <snip> + attr->max_sge = qattr->max_sge; + attr->max_sge_rd = qattr->max_sge;