RDMA/qedr: Add iWARP connection management functions

Implements the iWARP connection management functions:
connect, accept, create listener and destroy listener

Signed-off-by: Michal Kalderon <Michal.Kalderon@cavium.com>
Signed-off-by: Ram Amrani <Ram.Amrani@cavium.com>
Signed-off-by: Ariel Elior <Ariel.Elior@cavium.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Kalderon, Michal
2017-07-26 14:41:56 +03:00
committed by Doug Ledford
parent de0089e692
commit e411e0587e
5 changed files with 750 additions and 1 deletions

View File

@@ -2257,6 +2257,23 @@ int qedr_destroy_qp(struct ib_qp *ibqp)
/* Change the QP state to ERROR */
qedr_modify_qp(ibqp, &attr, attr_mask, NULL);
}
} else {
/* Wait for the connect/accept to complete */
if (qp->ep) {
int wait_count = 1;
while (qp->ep->during_connect) {
DP_DEBUG(dev, QEDR_MSG_QP,
"Still in during connect/accept\n");
msleep(100);
if (wait_count++ > 200) {
DP_NOTICE(dev,
"during connect timeout\n");
break;
}
}
}
}
if (qp->qp_type == IB_QPT_GSI)