]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
Improved error messages with SCIF related calls.
authorJianxin Xiong <jianxin.xiong@intel.com>
Wed, 12 Sep 2012 20:53:31 +0000 (13:53 -0700)
committerJianxin Xiong <jianxin.xiong@intel.com>
Wed, 12 Sep 2012 20:53:31 +0000 (13:53 -0700)
dapl/openib_mcm/mix.c

index 3618713528a908c08266f9024160d5cd3aaa305a..fd046f19ef3081f536810143db07f2fac9bfefd8 100644 (file)
@@ -58,7 +58,7 @@ int dapli_mix_open(ib_hca_transport_t *tp, char *name, int port)
 
        ret = scif_get_nodeIDs(NULL, 0, &tp->self.node);
        if (ret < 0) {
-               dapl_log(1, " scif_get_nodeIDs() failed with error %d\n", errno);
+               dapl_log(1, " scif_get_nodeIDs() failed with error %s\n", strerror(errno));
                return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," SCIF node_id: %d\n", (uint16_t)tp->self.node);
@@ -73,19 +73,19 @@ int dapli_mix_open(ib_hca_transport_t *tp, char *name, int port)
        /* Create an endpoint for MPXYD to connect back */
        listen_ep = scif_open();
        if (listen_ep < 0) {
-               dapl_log(1, "scif_open() failed with error %d\n", errno);
+               dapl_log(1, "scif_open() failed with error %s\n", strerror(errno));
                return -1;
        }
 
        listen_port = scif_bind(listen_ep, 0);
        if (listen_port < 0) {
-               dapl_log(1, "scif_listen() failed with error %d\n", errno);
+               dapl_log(1, "scif_listen() failed with error %s\n", strerror(errno));
                return -1;
        }
 
        ret = scif_listen(listen_ep, 1);
        if (ret < 0) {
-               dapl_log(1, "scif_listen() failed with error %d\n", errno);
+               dapl_log(1, "scif_listen() failed with error %s\n", strerror(errno));
                return -1;
        }
 
@@ -95,7 +95,7 @@ int dapli_mix_open(ib_hca_transport_t *tp, char *name, int port)
 
        tp->scif_ep = scif_open();
        if (tp->scif_ep < 0) {
-               dapl_log(1, "scif_open() failed with error %d\n", errno);
+               dapl_log(1, "scif_open() failed with error %s\n", strerror(errno));
                return -1;
        }
        ret = scif_connect(tp->scif_ep, &tp->peer);
@@ -108,19 +108,19 @@ int dapli_mix_open(ib_hca_transport_t *tp, char *name, int port)
        len = sizeof(listen_port);
        ret = scif_send(tp->scif_ep, &listen_port, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", tp->scif_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", tp->scif_ep, ret, len, strerror(errno));
                return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent port number on SCIF EP\n");
 
        ret = scif_accept(listen_ep, &tp->peer_un, &tp->scif_un_ep, SCIF_ACCEPT_SYNC);
        if (ret < 0) {
-               dapl_log(1, "scif_accept() for un_ep failed with error %d\n", errno);
+               dapl_log(1, "scif_accept() for un_ep failed with error %s\n", strerror(errno));
                return -1;
        }
        ret = scif_close(listen_ep);
        if (ret < 0) {
-               dapl_log(1, "scif_close() failed with error %d\n", errno);
+               dapl_log(1, "scif_close() failed with error %d\n", strerror(errno));
                return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION, "Connected to node 0 for unsolicited messages, ep=%d \n", tp->scif_un_ep);
@@ -137,7 +137,8 @@ int dapli_mix_open(ib_hca_transport_t *tp, char *name, int port)
        len = sizeof(dat_mix_open_t);
        ret = scif_send(tp->scif_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", tp->scif_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", tp->scif_ep, ret, len, strerror(errno));
+               return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
@@ -145,7 +146,7 @@ int dapli_mix_open(ib_hca_transport_t *tp, char *name, int port)
        msg.hdr.status = 1; /* make sure we update status from response */
        ret = scif_recv(tp->scif_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", tp->scif_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", tp->scif_ep, ret, len, strerror(errno));
                return -1;
        }
 
@@ -189,14 +190,14 @@ int dapli_mix_listen(dp_ib_cm_handle_t cm, uint16_t sid)
        len = sizeof(dat_mix_listen_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
        /* listen response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.hdr.ver != DAT_MIX_VER || msg.hdr.op != MIX_LISTEN ||
@@ -226,14 +227,14 @@ int dapli_mix_listen_free(dp_ib_cm_handle_t cm)
        len = sizeof(dat_mix_hdr_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.op));
 
        /* listen free response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.ver != DAT_MIX_VER || msg.op != MIX_LISTEN_FREE ||
@@ -266,7 +267,7 @@ int dapli_mix_mr_create(ib_hca_transport_t *tp, uint32_t id, uint32_t mr_len, ui
        len = sizeof(dat_mix_mr_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
@@ -274,7 +275,7 @@ int dapli_mix_mr_create(ib_hca_transport_t *tp, uint32_t id, uint32_t mr_len, ui
        len = sizeof(dat_mix_hdr_t);
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.hdr.ver != DAT_MIX_VER || msg.hdr.op != MIX_MR_CREATE ||
@@ -304,7 +305,7 @@ int dapli_mix_mr_free(dp_ib_cm_handle_t cm, uint32_t id)
        len = sizeof(dat_mix_mr_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
@@ -312,7 +313,7 @@ int dapli_mix_mr_free(dp_ib_cm_handle_t cm, uint32_t id)
        len = sizeof(dat_mix_hdr_t);
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.hdr.ver != DAT_MIX_VER || msg.hdr.op != MIX_MR_FREE ||
@@ -363,14 +364,14 @@ int dapli_mix_qp_create(ib_qp_handle_t m_qp, struct ibv_qp_init_attr *attr,
        len = sizeof(dat_mix_qp_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
        /* wait for response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.hdr.ver != DAT_MIX_VER || msg.hdr.op != MIX_QP_CREATE ||
@@ -415,14 +416,14 @@ int dapli_mix_qp_free(ib_qp_handle_t m_qp)
        len = sizeof(dat_mix_hdr_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.op));
 
        /* response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.ver != DAT_MIX_VER || msg.op != MIX_QP_FREE ||
@@ -454,14 +455,14 @@ int dapli_mix_cq_create(ib_cq_handle_t m_cq)
        len = sizeof(dat_mix_cq_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
        /* wait for response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.hdr.ver != DAT_MIX_VER || msg.hdr.op != MIX_CQ_CREATE ||
@@ -496,14 +497,14 @@ int dapli_mix_cq_free(ib_cq_handle_t m_cq)
        len = sizeof(dat_mix_hdr_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.op));
 
        /* response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.ver != DAT_MIX_VER || msg.op != MIX_CQ_FREE ||
@@ -535,14 +536,14 @@ int dapli_mix_cq_poll(ib_cq_handle_t m_cq, struct ibv_wc *wc)
        len = sizeof(dat_mix_dto_comp_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
        /* response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.hdr.ver != DAT_MIX_VER || msg.hdr.op != MIX_CQ_POLL ||
@@ -701,7 +702,7 @@ int dapli_mix_post_send(ib_qp_handle_t m_qp, int txlen, struct ibv_send_wr *wr,
        len = sizeof(dat_mix_send_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        for (i=0; i < wr->num_sge && (msg.hdr.flags & MIX_OP_INLINE); i++) {
@@ -710,8 +711,8 @@ int dapli_mix_post_send(ib_qp_handle_t m_qp, int txlen, struct ibv_send_wr *wr,
                         i, wr->sg_list[i].addr, wr->sg_list[i].length, mix_ep);
                ret = scif_send(mix_ep, (void*)wr->sg_list[i].addr, wr->sg_list[i].length, SCIF_SEND_BLOCK);
                if (ret != wr->sg_list[i].length)
-                       dapl_log(1, " ERR: send on %d, ret %d, exp %d\n",
-                                mix_ep, ret, wr->sg_list[i].length);
+                       dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n",
+                                mix_ep, ret, wr->sg_list[i].length, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent MIX_SEND on SCIF EP %d, len=%d\n", mix_ep, txlen);
        return 0;
@@ -770,7 +771,7 @@ int dapli_mix_cm_rep_out(dp_ib_cm_handle_t m_cm, int p_size, void *p_data)
        len = sizeof(dat_mix_cm_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
@@ -807,7 +808,7 @@ int dapli_mix_cm_rej_out(dp_ib_cm_handle_t m_cm, int p_size, void *p_data, int r
        len = sizeof(dat_mix_cm_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
@@ -840,14 +841,14 @@ int dapli_mix_cm_req_out(dp_ib_cm_handle_t m_cm, ib_qp_handle_t m_qp)
        len = sizeof(dat_mix_cm_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 
        /* wait for response */
        ret = scif_recv(mix_ep, &msg, len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: rcv on new_ep %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        if (msg.hdr.ver != DAT_MIX_VER || msg.hdr.op != MIX_CM_REQ ||
@@ -888,7 +889,7 @@ int dapli_mix_cm_rtu_out(dp_ib_cm_handle_t m_cm)
        len = sizeof(dat_mix_cm_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
                return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
@@ -915,7 +916,7 @@ void dapli_mix_cm_dreq_out(dp_ib_cm_handle_t m_cm) {
        len = sizeof(dat_mix_cm_t);
        ret = scif_send(mix_ep, &msg, len, SCIF_SEND_BLOCK);
        if (ret != len) {
-               dapl_log(1, " ERR: send on %d, ret %d, exp %d\n", mix_ep, ret, len);
+               dapl_log(1, " ERR: send on %d, ret %d, exp %d, error %s\n", mix_ep, ret, len, strerror(errno));
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION," Sent %s request on SCIF EP\n", mix_op_str(msg.hdr.op));
 }
@@ -931,7 +932,7 @@ int dapli_mix_cm_event_in(ib_hca_transport_t *tp, scif_epd_t scif_ep, dat_mix_cm
        len = sizeof(dat_mix_cm_event_t) - sizeof(dat_mix_hdr_t);
        ret = scif_recv(scif_ep, ((char*)pmsg + sizeof(dat_mix_hdr_t)), len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d\n", ret, len);
+               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d, error %s\n", ret, len, strerror(errno));
                return ret;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION,
@@ -984,7 +985,7 @@ int dapli_mix_dto_event_in(ib_hca_transport_t *tp, scif_epd_t scif_ep, dat_mix_d
        len = sizeof(dat_mix_dto_comp_t) - sizeof(dat_mix_hdr_t);
        ret = scif_recv(scif_ep, ((char*)pmsg + sizeof(dat_mix_hdr_t)), len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d\n", ret, len);
+               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d, error %s\n", ret, len, strerror(errno));
                return ret;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION,
@@ -1008,7 +1009,7 @@ int dapli_mix_cm_rep_in(ib_hca_transport_t *tp, scif_epd_t scif_ep, dat_mix_cm_t
        len = sizeof(dat_mix_cm_t) - sizeof(dat_mix_hdr_t);
        ret = scif_recv(scif_ep, ((char*)pmsg + sizeof(dat_mix_hdr_t)), len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d\n", ret, len);
+               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d, error %s\n", ret, len, strerror(errno));
                return ret;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION,
@@ -1034,7 +1035,7 @@ int dapli_mix_cm_req_in(ib_hca_transport_t *tp, scif_epd_t scif_ep, dat_mix_cm_t
        len = sizeof(dat_mix_cm_t) - sizeof(dat_mix_hdr_t);
        ret = scif_recv(scif_ep, ((char*)pmsg + sizeof(dat_mix_hdr_t)), len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d\n", ret, len);
+               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d, error %s\n", ret, len, strerror(errno));
                return ret;
        }
 
@@ -1077,7 +1078,7 @@ int dapli_mix_cm_rtu_in(ib_hca_transport_t *tp, scif_epd_t scif_ep, dat_mix_cm_t
        len = sizeof(dat_mix_cm_t) - sizeof(dat_mix_hdr_t);
        ret = scif_recv(scif_ep, ((char*)pmsg + sizeof(dat_mix_hdr_t)), len, SCIF_RECV_BLOCK);
        if (ret != len) {
-               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d\n", ret, len);
+               dapl_log(DAPL_DBG_TYPE_ERR, " ERR: ret %d, exp %d, error %s\n", ret, len, strerror(errno));
                return ret;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION,
@@ -1114,8 +1115,8 @@ int dapli_mix_recv(DAPL_HCA *hca, int scif_ep)
        ret = scif_recv(scif_ep, phdr, len, SCIF_RECV_BLOCK);
        if ((ret != len) || (phdr->ver != DAT_MIX_VER) || phdr->flags != MIX_OP_REQ) {
                dapl_log(DAPL_DBG_TYPE_ERR,
-                        " ERR: rcv on scif_ep %d, ret %d, exp %d, VER=%d flgs=%d\n",
-                        scif_ep, ret, len, phdr->ver, phdr->flags);
+                        " ERR: rcv on scif_ep %d, ret %d, exp %d, VER=%d flgs=%d, error %s\n",
+                        scif_ep, ret, len, phdr->ver, phdr->flags, strerror(errno));
                return -1;
        }
        dapl_log(DAPL_DBG_TYPE_EXTENSION, " ver %d, op %d, flags %d\n", phdr->ver, phdr->op, phdr->flags);