diff options
author | Steve Wise <swise@opengridcomputing.com> | 2013-08-06 17:34:40 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-08-13 20:55:49 +0200 |
commit | 09992579bc8cc03b1f90b815b75c3ba6621ef2f8 (patch) | |
tree | c00250e545783560780b528551cd2bd28d44975e /drivers/infiniband | |
parent | RDMA/cxgb4: Advertise ~0ULL as max MR size (diff) | |
download | linux-09992579bc8cc03b1f90b815b75c3ba6621ef2f8.tar.xz linux-09992579bc8cc03b1f90b815b75c3ba6621ef2f8.zip |
RDMA/cxgb4: Issue RI.FINI before closing when entering TERM
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Vipul Pandya <vipul@chelsio.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/qp.c | 7 |
1 files changed, 6 insertions, 1 deletions
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: |