> 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. Thxs, Håkon