From: Steve Wise Date: Tue, 6 Aug 2013 15:34:40 +0000 (+0530) Subject: RDMA/cxgb4: Issue RI.FINI before closing when entering TERM X-Git-Tag: firefly_0821_release~176^2~5427^2~1 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=09992579bc8cc03b1f90b815b75c3ba6621ef2f8;p=firefly-linux-kernel-4.4.55.git RDMA/cxgb4: Issue RI.FINI before closing when entering TERM Signed-off-by: Steve Wise Signed-off-by: Vipul Pandya Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c index 22d1f01dd951..582936708e6e 100644 --- a/drivers/infiniband/hw/cxgb4/qp.c +++ b/drivers/infiniband/hw/cxgb4/qp.c @@ -1350,9 +1350,14 @@ int c4iw_modify_qp(struct c4iw_dev *rhp, struct c4iw_qp *qhp, qhp->attr.ecode = attrs->ecode; t4_set_wq_in_error(&qhp->wq); ep = qhp->ep; + disconnect = 1; if (!internal) terminate = 1; - disconnect = 1; + else { + ret = rdma_fini(rhp, qhp, ep); + if (ret) + goto err; + } c4iw_get_ep(&qhp->ep->com); break; case C4IW_QP_STATE_ERROR: