> -            qp_attr->qp_access_flags = IB_ACCESS_LOCAL_WRITE |
 > -                                       IB_ACCESS_REMOTE_WRITE|
 > +            qp_attr->qp_access_flags = IB_ACCESS_REMOTE_WRITE|
 >                                         IB_ACCESS_REMOTE_READ;

makes sense, applied.  Steve, this patch is correct, right?

This nes code looks really strange:

        if (attr_mask & IB_QP_ACCESS_FLAGS) {
                if (attr->qp_access_flags & IB_ACCESS_LOCAL_WRITE) {
                        nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_RDMA_WRITE_EN |
                                        NES_QPCONTEXT_MISC_RDMA_READ_EN);
                        issue_modify_qp = 1;
                }
                if (attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE) {
                        nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_RDMA_WRITE_EN);
                        issue_modify_qp = 1;
                }
                if (attr->qp_access_flags & IB_ACCESS_REMOTE_READ) {
                        nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_RDMA_READ_EN);
                        issue_modify_qp = 1;
                }
                if (attr->qp_access_flags & IB_ACCESS_MW_BIND) {
                        nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_WBIND_EN);
                        issue_modify_qp = 1;
                }

                if (nesqp->user_mode) {
                        nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_RDMA_WRITE_EN |
                                        NES_QPCONTEXT_MISC_RDMA_READ_EN);
                        issue_modify_qp = 1;
                }
        }

should it just be rewritten to:

        if (attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE) {
                nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_RDMA_WRITE_EN);
                issue_modify_qp = 1;
        }
        if (attr->qp_access_flags & IB_ACCESS_REMOTE_READ) {
                nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_RDMA_READ_EN);
                issue_modify_qp = 1;
        }
        if (attr->qp_access_flags & IB_ACCESS_MW_BIND) {
                nesqp->nesqp_context->misc |= 
cpu_to_le32(NES_QPCONTEXT_MISC_WBIND_EN);
                issue_modify_qp = 1;
        }

I don't see why setting LOCAL_WRITE should imply both RDMA permissions,
or why you always want to set those permissions for usermode QPs ??

 - R.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

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

Reply via email to