Robert,

Here is a slightly modified patch for your attributes issue. Can you give it a 
try?

Signed-off by: Arlin Davis [EMAIL PROTECTED]

Index: dapl/openib/dapl_ib_util.c
===================================================================
--- dapl/openib/dapl_ib_util.c  (revision 9106)
+++ dapl/openib/dapl_ib_util.c  (working copy)
@@ -446,6 +446,7 @@
                return(dapl_convert_errno(errno,"ib_query_hca"));
 
        if (ia_attr != NULL) {
+               (void) dapl_os_memzero(ia_attr, sizeof(*ia_attr));
                ia_attr->adapter_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
                ia_attr->vendor_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
                ia_attr->ia_address_ptr = 
@@ -470,7 +471,12 @@
                /* ia_attr->hardware_version_minor   = dev_attr.fw_ver; */
                ia_attr->max_eps                  = dev_attr.max_qp;
                ia_attr->max_dto_per_ep           = dev_attr.max_qp_wr;
-               ia_attr->max_rdma_read_per_ep     = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_in         = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_out        = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_per_ep_in  = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_per_ep_out = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_per_ep_in_guaranteed  = DAT_TRUE;
+               ia_attr->max_rdma_read_per_ep_out_guaranteed = DAT_TRUE;
                ia_attr->max_evds                 = dev_attr.max_cq;
                ia_attr->max_evd_qlen             = dev_attr.max_cqe;
                ia_attr->max_iov_segments_per_dto = dev_attr.max_sge;
@@ -501,6 +507,7 @@
        }
        
        if (ep_attr != NULL) {
+               (void) dapl_os_memzero(ep_attr, sizeof(*ep_attr));
                ep_attr->max_mtu_size     = port_attr.max_msg_sz;
                ep_attr->max_rdma_size    = port_attr.max_msg_sz;
                ep_attr->max_recv_dtos    = dev_attr.max_qp_wr;
Index: dapl/openib_cma/dapl_ib_util.c
===================================================================
--- dapl/openib_cma/dapl_ib_util.c      (revision 9106)
+++ dapl/openib_cma/dapl_ib_util.c      (working copy)
@@ -424,6 +424,7 @@
                return(dapl_convert_errno(errno,"ib_query_hca"));
 
        if (ia_attr != NULL) {
+               (void) dapl_os_memzero(ia_attr, sizeof(*ia_attr));
                ia_attr->adapter_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
                ia_attr->vendor_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
                ia_attr->ia_address_ptr = 
@@ -446,6 +447,8 @@
                ia_attr->hardware_version_major = dev_attr.hw_ver;
                ia_attr->max_eps                  = dev_attr.max_qp;
                ia_attr->max_dto_per_ep           = dev_attr.max_qp_wr;
+               ia_attr->max_rdma_read_in         = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_out        = dev_attr.max_qp_rd_atom;
                ia_attr->max_rdma_read_per_ep_in  = dev_attr.max_qp_rd_atom;
                ia_attr->max_rdma_read_per_ep_out = dev_attr.max_qp_rd_atom;
                ia_attr->max_rdma_read_per_ep_in_guaranteed  = DAT_TRUE;
@@ -481,6 +484,7 @@
        }
        
        if (ep_attr != NULL) {
+               (void) dapl_os_memzero(ep_attr, sizeof(*ep_attr));
                ep_attr->max_mtu_size     = port_attr.max_msg_sz;
                ep_attr->max_rdma_size    = port_attr.max_msg_sz;
                ep_attr->max_recv_dtos    = dev_attr.max_qp_wr;
Index: dapl/openib_scm/dapl_ib_util.c
===================================================================
--- dapl/openib_scm/dapl_ib_util.c      (revision 9106)
+++ dapl/openib_scm/dapl_ib_util.c      (working copy)
@@ -373,6 +373,7 @@
                return(dapl_convert_errno(errno,"ib_query_hca"));
 
        if (ia_attr != NULL) {
+               (void) dapl_os_memzero(ia_attr, sizeof(*ia_attr));
                ia_attr->adapter_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
                ia_attr->vendor_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
                ia_attr->ia_address_ptr = 
(DAT_IA_ADDRESS_PTR)&hca_ptr->hca_address;
@@ -390,7 +391,12 @@
                /* ia_attr->hardware_version_minor   = dev_attr.fw_ver; */
                ia_attr->max_eps                  = dev_attr.max_qp;
                ia_attr->max_dto_per_ep           = dev_attr.max_qp_wr;
-               ia_attr->max_rdma_read_per_ep     = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_in         = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_out        = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_per_ep_in  = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_per_ep_out = dev_attr.max_qp_rd_atom;
+               ia_attr->max_rdma_read_per_ep_in_guaranteed  = DAT_TRUE;
+               ia_attr->max_rdma_read_per_ep_out_guaranteed = DAT_TRUE;
                ia_attr->max_evds                 = dev_attr.max_cq;
                ia_attr->max_evd_qlen             = dev_attr.max_cqe;
                ia_attr->max_iov_segments_per_dto = dev_attr.max_sge;
@@ -422,6 +428,7 @@
        }
        
        if (ep_attr != NULL) {
+               (void) dapl_os_memzero(ep_attr, sizeof(*ep_attr));
                ep_attr->max_mtu_size     = port_attr.max_msg_sz;
                ep_attr->max_rdma_size    = port_attr.max_msg_sz;
                ep_attr->max_recv_dtos    = dev_attr.max_qp_wr;

_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to