On Tue, Jun 22, 2021 at 02:53:33PM +0000, Haakon Bugge wrote: > > > > On 22 Jun 2021, at 16:47, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > > > On Tue, Jun 22, 2021 at 03:20:29PM +0200, Håkon Bugge wrote: > >> In rdma_create_qp(), a connected QP will be transitioned to the INIT > >> state. > >> > >> Afterwards, the QP will be transitioned to the RTR state by the > >> cma_modify_qp_rtr() function. But this function starts by performing > >> an ib_modify_qp() to the INIT state again, before another > >> ib_modify_qp() is performed to transition the QP to the RTR state. > > > > This makes me really nervous that something depends on this since the > > API is split up?? > > As I commented to Mark, no ULP creates a connected QP with > rdma_create_qp() and thereafter modifies it with an INIT -> INIT > transition. And if it did, the values modified would be overwritten > by the (now) RESET -> INIT transition when cma_modify_qp_rtr() is > called. Does anything call query_qp? Jason