On Thu, Aug 29, 2024 at 08:04:55PM +0800, Zhu Yanjun wrote: > 在 2024/8/28 8:51, Zhijian Li (Fujitsu) 写道: > > Not related to your modification, > > > > In general, > > - Please report a bug with more details, such as how to reproduce, your expectations and what's the impact, etc... > > - Please follow the patch submit instruction[1] or a PR if you want to submit a patch to the communities. > > > > [1] https://docs.kernel.org/process/submitting-patches.html > > It seems a rdma-core problem. Not sure if it is reasonable to use the above > link. It is, https://github.com/linux-rdma/rdma-core/blob/master/Documentation/contributing.md # Contributing to rdma-core rdma-core is a userspace project for a Linux kernel interface and follows many of the same expectations as contributing to the Linux kernel: - One change per patch Carefully describe your change in the commit message and break up work into appropriate reviewable commits. Refer to [Linux Kernel Submitting Patches](https://github.com/torvalds/linux/blob/master/Documentation/process/submitting-patches.rst) for general information. - Developer Certificate of Origin 'Signed-off-by' lines Include a Signed-off-by line to indicate your submission is suitable licensed and you have the legal authority to make this submission and accept the [DCO](#developers-certificate-of-origin-11) - Broadly follow the [Linux Kernel coding style](https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst) As in the Linux Kernel, commits that are fixing bugs should be marked with a Fixes: line to help backporting. .... > > Zhu Yanjun > > > > > > > On 27/08/2024 14:20, 靳文宾 wrote: > > > > > > > > > > > > > > > > > > I think the following modification is more correct, > > > if there have something i dont know, pls tell me, thx > > > > > > > > > > > > > > > > > > diff --git a/librdmacm/cma.c b/librdmacm/cma.c > > > index 7b924bd0d..9e71ba858 100644 > > > --- a/librdmacm/cma.c > > > +++ b/librdmacm/cma.c > > > @@ -1654,10 +1654,20 @@ int rdma_create_qp_ex(struct rdma_cm_id *id, > > > if (ret) > > > return ret; > > > > > > > > > - if (!attr->send_cq) > > > + if (!attr->send_cq) { > > > attr->send_cq = id->send_cq; > > > - if (!attr->recv_cq) > > > + } else { > > > + if (!id->recv_cq) > > > + id->recv_cq = attr->recv_cq; > > > + } > > > + if (!attr->recv_cq) { > > > attr->recv_cq = id->recv_cq; > > > + } else { > > > + if (!id->recv_cq) > > > + id->recv_cq = attr->recv_cq; > > > + } > > > + > > > + > > > if (id->srq && !attr->srq) > > > attr->srq = id->srq; > > > qp = ibv_create_qp_ex(id->verbs, attr); > > > > > > > > > > > > > >