[openib-general] Bug in recv_handler() -sa_query.c file?

Pradeep Satyanarayana pradeep at us.ibm.com
Tue Oct 18 11:05:18 PDT 2005






I was trying out the grmpp module on a Power machine and kept to running
into the following error "grmpp: failed path record query: -22". Debugging
this revealed that this was a problem with the following code in
recv_handler(0 in the sa_query.c file :

if (query && query->callback) {
      if (mad_recv_wc->wc->status == IB_WC_SUCCESS)
             query->callback(query,
                         mad_recv_wc->recv_buf.mad->mad_hdr.status ?
                         -EINVAL : 0,
                         (struct ib_sa_mad *) mad_recv_wc->recv_buf.mad);

Now mad_hdr.status field is declared as   __be16. So, should the check  be
(mad_recv_wc->recv_buf.mad->mad_hdr.status & 0xff) before we return EINVAL?

That change seemed to fix the grmpp problem for me.

Pradeep
pradeep at us.ibm.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20051018/1e6f0fcb/attachment.html>


More information about the general mailing list