]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
Refresh of shutdown
authorSean Hefty <sean.hefty@intel.com>
Wed, 30 Oct 2013 22:43:22 +0000 (15:43 -0700)
committerSean Hefty <sean.hefty@intel.com>
Wed, 30 Oct 2013 22:43:22 +0000 (15:43 -0700)
src/cma.c
src/cma.h
src/rsocket.c

index 374844c16449b7e7973419ee22f0e10c321c00ac..4f41879a4df507e1562921447f7695eca18fd39d 100644 (file)
--- a/src/cma.c
+++ b/src/cma.c
@@ -1543,22 +1543,25 @@ int rdma_notify(struct rdma_cm_id *id, enum ibv_event_type event)
        return 0;
 }
 
-int rdma_disconnect(struct rdma_cm_id *id)
+int ucma_shutdown(struct rdma_cm_id *id)
 {
-       struct ucma_abi_disconnect cmd;
-       struct cma_id_private *id_priv;
-       int ret;
-
        switch (id->verbs->device->transport_type) {
        case IBV_TRANSPORT_IB:
-               ret = ucma_modify_qp_err(id);
-               break;
+               return ucma_modify_qp_err(id);
        case IBV_TRANSPORT_IWARP:
-               ret = ucma_modify_qp_sqd(id);
-               break;
+               return ucma_modify_qp_sqd(id);
        default:
-               ret = ERR(EINVAL);
+               return ERR(EINVAL);
        }
+}
+
+int rdma_disconnect(struct rdma_cm_id *id)
+{
+       struct ucma_abi_disconnect cmd;
+       struct cma_id_private *id_priv;
+       int ret;
+
+       ret = ucma_shutdown(id);
        if (ret)
                return ret;
 
index e944a9a4c5e2ae1cb323da05bfafc1118e9b68e9..4c991b426f48f8e33466cb9609114ff5066f9316 100644 (file)
--- a/src/cma.h
+++ b/src/cma.h
@@ -150,6 +150,7 @@ void ucma_set_sid(enum rdma_port_space ps, struct sockaddr *addr,
                  struct sockaddr_ib *sib);
 int ucma_max_qpsize(struct rdma_cm_id *id);
 int ucma_complete(struct rdma_cm_id *id);
+int ucma_shutdown(struct rdma_cm_id *id);
 
 static inline int ERR(int err)
 {
index f94ddf35a81fb20f608f753b1d7c003545294bde..c7a491ba0a4fe06c52c00eebc8184453d95849c4 100644 (file)
@@ -3153,7 +3153,7 @@ out:
        if (rs->state & rs_disconnected) {
                /* Generate event by flushing receives to unblock rpoll */
                ibv_req_notify_cq(rs->cm_id->recv_cq, 0);
-               rdma_disconnect(rs->cm_id);
+               ucma_shutdown(rs->cm_id);
        }
 
        return ret;