diff --git a/prov/efa/src/rdm/efa_rdm_pke.c b/prov/efa/src/rdm/efa_rdm_pke.c index 4b5ae3f1f1a..97b789b1806 100644 --- a/prov/efa/src/rdm/efa_rdm_pke.c +++ b/prov/efa/src/rdm/efa_rdm_pke.c @@ -390,7 +390,7 @@ ssize_t efa_rdm_pke_sendv(struct efa_rdm_pke **pkt_entry_vec, struct efa_conn *conn; struct efa_rdm_ep *ep; struct efa_rdm_pke *pkt_entry; - struct efa_rdm_peer *peer; + struct efa_rdm_ope *txe; struct ibv_sge sg_list[2]; /* efa device support up to 2 iov */ struct ibv_data_buf inline_data_list[2]; int ret, pkt_idx, iov_cnt; @@ -398,9 +398,10 @@ ssize_t efa_rdm_pke_sendv(struct efa_rdm_pke **pkt_entry_vec, assert(pkt_entry_cnt); ep = pkt_entry_vec[0]->ep; assert(ep); - peer = efa_rdm_ep_get_peer(ep, pkt_entry_vec[0]->addr); - assert(peer); - if (peer->flags & EFA_RDM_PEER_IN_BACKOFF) + + txe = pkt_entry_vec[0]->ope; + assert(txe); + if (txe->peer->flags & EFA_RDM_PEER_IN_BACKOFF) return -FI_EAGAIN; conn = efa_av_addr_to_conn(ep->base_ep.av, pkt_entry_vec[0]->addr); @@ -411,7 +412,7 @@ ssize_t efa_rdm_pke_sendv(struct efa_rdm_pke **pkt_entry_vec, for (pkt_idx = 0; pkt_idx < pkt_entry_cnt; ++pkt_idx) { pkt_entry = pkt_entry_vec[pkt_idx]; assert(pkt_entry->pkt_size); - assert(efa_rdm_ep_get_peer(ep, pkt_entry->addr) == peer); + assert(efa_rdm_ep_get_peer(ep, pkt_entry->addr) == txe->peer); qp->ibv_qp_ex->wr_id = (uintptr_t)pkt_entry; ibv_wr_send(qp->ibv_qp_ex);